我最近开始了python/django演练,但仍然有一个问题困扰着我:我没有找到一种简单、不引人注目、无痛的方法来部署django应用程序=(。我只看到mod嫒python,fastCGI,wsgi的教程-所有这些都是我创建的每个webapp所必需的。。在
我已经习惯了javaweb应用程序(JSF+Tomcat),并且习惯于将*war包放到webapps文件夹中。或者通过tomcat管理器上传*war。或者,更好的方法是进行maven热远程部署。就我而言,简单的PHP应用程序也需要最少的配置(在设置apache2配置之后,只需将PHP webapp文件夹cp到/var/www/will..)。我不能相信Python缺少这种特性=()
我的观点是:在一个干净的OS安装之后(以JEE-VPS为例),我只需要设置我的web服务器一次。如果我开发webapp01,我会选择上面的一个选项来部署它。当我开发我的webapp02时,同样的事情-不需要改变一些tomcat-conf.xml文件在webapp01之后部署它。显然,我只考虑小的webapps,比如Django管理类。=]
我的目标是设置一个Python/Django webserver并动态创建Django管理webapp,自动将它们热部署到web服务器上。{a1}服务器一开始就准备好了。当用户A生成webapp01时,它将在http://myserver.com/userA/webappA01中透明可用。在
有可能吗?在
首先,Python/Django本身不提供“插入式”部署功能,我也不知道如何做类似于war包的事情。在
有些服务提供了像Heroku这样的简单部署方法,但是我建议初学者阅读Django's official documentation about deploying。在
听起来你想做的事情可以用custom ^{} instances 来完成。
基本上,您可以编写一个视图来实例化名为“webapp”的
AdminSite
实例(当然可以从url中提取这些参数,并检查数据库中是否存在webapp数据)。您需要从该视图或通过重写其init方法将任何模型连接到该AdminSite
实例。Django admin的autodiscover
功能可能不适用于自定义管理站点。在现代的方法是在Apache或NGINX中使用uwsgi(我推荐这个)。 我不知道一个工具可以自动部署你的Django应用程序。有很多像Heroku这样的web服务可以自动部署你的应用(你只需要提供你的VCS存储库)。在
您可以通过编写一些脚本来半自动地部署Django应用程序,这些脚本将同步您的代码库、为db应用迁移并重新加载web服务器。选中fabric或{a2}。在
相关问题 更多 >
编程相关推荐