如何在一台服务器上运行两个 django 项目
Posted
技术标签:
【中文标题】如何在一台服务器上运行两个 django 项目【英文标题】:How to Run two django projects in one server 【发布时间】:2014-11-23 10:10:23 【问题描述】:我正在使用 python 2.7、django 1.4 和 Apache2.2.21,我能够在 Apache 服务器上运行一个项目,我想使用相同的 Apache 和相同的服务器来运行我的第二个项目。
我将以下wsgi.py
用于我的第一个项目
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "product.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
并在 Apache httpd.conf
文件中使用以下代码
LoadModule wsgi_module modules/mod_wsgi.so
文件的最后
WSGIScriptAlias / C:/Python27/Lib/site-packages/django/bin/product/product/wsgi.py
WSGIPythonPath /C:/Python27/Lib/site-packages/django/bin/product
<Directory C:/Python27/Lib/site-packages/django/bin/product/media>
Order allow,deny
Allow from all
</Directory>
<Directory C:/Python27/Lib/site-packages/django/bin/product>
Order allow,deny
Allow from all
</Directory>
<Directory "C:/Python27/Lib/site-packages/django/contrib/admin/media">
Order deny,allow
Allow from all
</Directory>
Alias /static/admin/ C:/Python27/Lib/site-packages/django/contrib/admin/media/
请帮助我如何在同一 Apache 服务器上运行 wsgi.py 路径为 C:/Python27/Lib/site-packages/django/bin/second/product/product/wsgi.py
的第二个项目。
【问题讨论】:
【参考方案1】:你不应该在模块配置(mod_wsgi.so
)上写你的应用程序配置(你添加的代码)
您应该创建应用程序配置文件(通常在/var/www/apache2/sites-available/
)然后启用它。要创建多个应用程序,您应该使用VirtualHost。
例如,
/var/www/apache2/sites-available/application1.conf
<VirtualHost *:80>
ServerName www.application1.com
# Your application 1 configuration
</VirtualHost>
/var/www/apache2/sites-available/application2.conf
<VirtualHost *:80>
ServerName www.application2.com
# Your application 2 configuration
</VirtualHost>
然后,您应该启用该应用程序。通常,命令是sudo apache2ensite application1 && sudo apache2ensite application2
。 commnad 可能因分布而异。
最后,你应该重新加载 apache sudo service apache2 reload
。
我强烈建议您搜索特定于发行版的虚拟主机设置指南。
【讨论】:
以上是关于如何在一台服务器上运行两个 django 项目的主要内容,如果未能解决你的问题,请参考以下文章