Python 同一服务器上的多个Django应用程序

Python 同一服务器上的多个Django应用程序,python,django,Python,Django,目前我正在运行我的Django网站,使用uWSGI在一个带有Virtualmin的服务器上运行,因为我也需要DNS、邮件等服务器。。。所以每次我需要发布Django网站时,我都要为此应用程序创建一个INI文件,编写nginx规则,最后重新启动我的uWSGI 所以我想知道是否有人知道其他更简单更快的方法 谢谢使用或。这些将允许您完成您提到的所有事情以及更多事情。假设每个Django项目都有一个应用程序,我通常会执行以下操作 www.mysite.com/app1 www.mysite.com/ap

目前我正在运行我的Django网站,使用uWSGI在一个带有Virtualmin的服务器上运行,因为我也需要DNS、邮件等服务器。。。所以每次我需要发布Django网站时,我都要为此应用程序创建一个INI文件,编写nginx规则,最后重新启动我的uWSGI

所以我想知道是否有人知道其他更简单更快的方法


谢谢使用或。这些将允许您完成您提到的所有事情以及更多事情。

假设每个Django项目都有一个应用程序,我通常会执行以下操作

www.mysite.com/app1
www.mysite.com/app2
www.mysite.com/app3
或者使用子域

www.mysite.com -> main application
app2.mysite.com
app3.mysite.com
这还假设您有一个virtualenv设置,并且有包含源代码的文件夹
site
,并且您的应用程序文件位于
site/app

在Apache服务器配置的启用了
站点的
文件夹中创建VirtualHost很容易

<VirtualHost *:80>
    ServerAdmin webmaster@example.com
    ServerName  www.mysite.com
    ServerAlias mysite.com

    Alias /static/ /path/to/virtualenv/site/app/static/

    <Directory /path/to/virtualenv/site/app/static>
      Order deny,allow
      Allow from all
    </Directory>

    <Directory /path/to/virtualenv/site/ >
        Order deny,allow
        Allow from all
    </Directory>

    WSGIScriptAlias / /path/to/virtualenv/site/django.wsgi
    WSGIDaemonProcess  mysite.com user=www-data group=www-data threads=2
    WSGIProcessGroup mysite.com

     ErrorLog  /var/log/apache2/mysite.com.error.log
     CustomLog /var/log/apache2/mysite.com.access.log combined
</VirtualHost>

服务器管理员webmaster@example.com
服务器名www.mysite.com
服务器别名mysite.com
别名/static//path/to/virtualenv/site/app/static/
命令拒绝,允许
通融
命令拒绝,允许
通融
WSGIScriptAlias//path/to/virtualenv/site/django.wsgi
WSGIDaemonProcess mysite.com用户=www数据组=www数据线程=2
WSGIProcessGroup mysite.com
ErrorLog/var/log/apache2/mysite.com.error.log
CustomLog/var/log/apache2/mysite.com.access.log组合
您确实需要在
WSGIScriptAlias
指定的路径上加载Python WSGI脚本,并加载Apache
mod_WSGI


就个人而言,我发现配置子域比我列出的第一组URL更容易。

添加(或删除)新配置文件时,无需重新加载子域。这将打破它能做的一半有趣的事情。一般来说,你用靴子启动皇帝,它就再也不会被触碰了。