我如何在不同的子域上但在同一个 Apache 服务器上运行 Django 和 LAMP?

我如何在不同的子域上但在同一个 Apache 服务器上运行 Django 和 LAMP?

我目前正在开发一个项目,需要运行四个不同的 PHP 程序(均带有 MySQL 后端)和一个 Django 项目。

当前计划:

  • XenForo (forums.domain.com) [PHP 论坛]
  • OSQA (qa.domain.com) [Django/Python QA 站点]
  • PHPFox (social.domain.com) [PHP 社交网络]
  • BugTrackr (bugs.domain.com) [PHP 错误跟踪器,定制]
  • WordPress (www.domain.com) [PHP CMS]

这如何可能,以便它们能够在同一个 Apache 上共存,彼此相处融洽,并且不会每次都使系统崩溃n小时?

答案1

对于 Django,我认为你需要mod_proxy在 Apache 中使用并创建一个VirtualHost.

<VirtualHost *:80>
     ServerName qa.domain.com
     ProxyPreserveHost on
     ProxyPass / http://localhost:DJANGO_PORT_HERE/
</VirtualHost>

不要忘记取消注释mod_proxy/mod_proxy_httphttpd.conf

对于其他应用程序,VirtualHost也只需创建一个简单的即可。


Django 文档建议您使用mod_wsgi,将其添加到您的httpd.conf

WSGIScriptAlias / /path/to/mysite.com/mysite/wsgi.py
WSGIPythonPath /path/to/mysite.com

<Directory /path/to/mysite.com/mysite>
<Files wsgi.py>
Require all granted
</Files>
</Directory>

https://docs.djangoproject.com/en/1.6/howto/deployment/wsgi/modwsgi/


相关内容