部署环境是阿里云的Ubuntu服务器。
使用 apache2 + wsgi + django 部署单一项目,在本人的如下文章中,已经介绍,不再赘述。
https://blog.csdn.net/mehent/article/details/87377563
现在的需求是:在同一台服务器上,部署多个django项目,每个项目通过不同的域名来访问。
实践中遇到的问题:
如果,只是简单复制部署单一项目的配置,比如这样配置mysite.conf 文件:
<VirtualHost *:80>
ServerName www.mysite1.com
……
</VirtualHost>
<VirtualHost *:80>
ServerName www.mysite2.com
……
</VirtualHost>
那么两个的项目的代码,在运行时由于缓存的问题会相互干扰。比如在访问项目1时,会去导入项目2的模块,这显然是无法找到的,导致报错。
解决方案,是加入如下配置信息:
<VirtualHost *:80>
ServerName www.site1.com
WSGIDaemonProcess www.site1.com
WSGIProcessGroup www.site1.com
WSGIApplicationGroup %{GLOBAL}……
</VirtualHost>
<VirtualHost *:80>
ServerName www.site2.com
WSGIDaemonProcess www.site2.com
WSGIProcessGroup www.site2.com
WSGIApplicationGroup %{GLOBAL}……
</VirtualHost>
这样,两个网站就可以互不干扰了。
该解决方案的参考资料:
http://www.it1352.com/215167.html