如何在一台服务器上运行两个 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 &amp;&amp; sudo apache2ensite application2。 commnad 可能因分布而异。

最后,你应该重新加载 apache sudo service apache2 reload

我强烈建议您搜索特定于发行版的虚拟主机设置指南。

【讨论】:

以上是关于如何在一台服务器上运行两个 django 项目的主要内容,如果未能解决你的问题,请参考以下文章

pycharm虚拟环境中的项目如何在别的电脑上运行?

如何在一台服务器上安装两个mysql或者更多

能否在一台主机上搭建2个tomcat服务器运行Java Web项目?

如何确保JAVA程序在一台机器上不能同时运行两个实例

一台服务器上部署两个tomcat

如何修复仅在一台计算机上运行的 Exe 文件