django - 在一台服务器上设置多个 Django 应用程序

标签 django apache

我一直在尝试在一台服务器上配置两个单独的 Django 应用程序,以便可以通过不同的 URL 访问它们......使用下面的配置,我可以访问第一个应用程序,但我不知道如何包括第二个应用程序的设置。管理媒体也根本没有加载

NameVirtualHost *:8032

服务器名称本地主机 ServerAdmin webmaster@example.com

 DocumentRoot "/usr/local/www/djcode/test"
 <Directory "/usr/local/www/djcode/test">
     Options +ExecCGI
     Order allow,deny
     Allow from all
 </Directory>
 Alias /site_media "/usr/local/www/djcode/test/site_media/"

 Alias /media "/usr/local/www/djcode/test/site_media/media/"
 WSGIDaemonProcess test user=www group=www processes=2 threads=5
 WSGIProcessGroup test
 AddHandler wsgi-script .wsgi
 RewriteEngine On
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteRule ^(.*)$ /test.wsgi/$1 [QSA,L]

服务器名称本地主机 服务器别名本地主机 DocumentRoot "/usr/local/www/apache22/data"

最佳答案

在/etc/apache2/sites-available 文件夹中制作两个配置文件。根据您的站点给它们适当的逻辑名称(例如 example1.com 、 example12.com 等)。使用 a2ensite 命令启用它们并重新启动您的 apache 服务器。

你的每个配置文件应该看起来像这样:

<Virtualhost *:8032>
ServerName localhost 
ServerAdmin webmaster@example.com
DocumentRoot "/usr/local/www/djcode/test"
 <Directory "/usr/local/www/djcode/test">
     Options +ExecCGI
     Order allow,deny
     Allow from all
 </Directory>
 Alias /site_media "/usr/local/www/djcode/test/site_media/"

 Alias /media "/usr/local/www/djcode/test/site_media/media/"
 WSGIDaemonProcess test user=www group=www processes=2 threads=5
 WSGIProcessGroup test
 AddHandler wsgi-script .wsgi
 RewriteEngine On
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteRule ^(.*)$ /test.wsgi/$1 [QSA,L]
 </Virtualhost *:8032>

您还需要添加一些指令来提供静态内容。从 apache 提供静态内容会产生开销,因此最好使用一些轻量级 Web 服务器(例如 Lighttpd 或 Nginx)来提供它,并使用反向代理连接到 apache 以提供基于 django 的内容。 Here's a tutorial on using NginX

由于您使用的是 mod_wsgi,因此您也可以以不同的用户身份运行每个站点,这样他们中的两个就不会访问彼此的数据。如果这两个站点属于不同的利益相关者,这将很有用。

关于django - 在一台服务器上设置多个 Django 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1138827/

相关文章:

Django Rest Framework 2.4 类型错误 : __init__() got an unexpected keyword argument 'allow_none'

python - mod_wsgi错误:ImportError:dlopen(/usr/local/lib/python3.6/site-packages/cv2.so,2):找不到符号:_iconv

apache - LimitRequestFieldSize 在 Apache 2.4 中不起作用

java - Tomcat 7 未在浏览器上运行 (http ://localhost:8080/)

python - 测试 Django ModelForm 是否在自定义模型上有实例

python - 在 django 中安装此库 "pip install bcrypt"时出错

c# - 非常简单的网络服务 : take inputs, 电子邮件结果

python - 缩放追随者模型

java - Apache 和 TomCat 以及 SSL - 应用程序不工作

java - 使用 Apache POI、Excel 和 Eclipse 时出现 "Exception in thread "main "java.lang.NullPointerException"?