我想在一台服务器上部署多个Django项目。 这是Windows 32位Xampp。 mod_wsgi是32位。 python是32位的。 Django是1.7.3版本。
我读了很多post,并尝试了很多东西,但我无法摆脱这个问题。
Server error! The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there was an error in a CGI script. Error 500 localhost Apache/2.4.4 (Win32) OpenSSL/0.9.8y PHP/5.4.19 mod_wsgi/3.5 Python/2.7.6
我可以用这种方式成功部署一个django应用程序。 没有错误,如果我只部署一个,例如c:/ p2 / xampp / htdocs / django / mysite
将PHP项目从Linux服务器迁移到Windows服务器时,在文件名中大括号
在Windows上是否有nm的替代品?
#define远,#define靠近Windef.h
任何工作python镜像?
asyncio循环的add_signal_handler()在Windows中
当我添加第二个项目,我得到下面的错误,只有第一个项目的作品。
我在apache error.log中得到以下错误。
mod_wsgi (pid=11184): Exception occurred processing Wsgi script 'C:/p2/xampp/htdocs/django/apache/django161c.wsgi'. ~~~~~ some lines removed ~~~~~~ ImportError: Could not import settings 'mysite.settings' (Is it on sys.path? Is there an import error in the settings file?): No module named mysite.settings
我的httpd.conf的最后两行:
LoadModule wsgi_module modules/mod_wsgi.so Include C:/p2/xampp/htdocs/django/apache/wsgi3.conf
我的wsgi3.conf
############ listen 8986 <VirtualHost *:8986> Alias /static/ c:/p2/xampp/htdocs/django/mysite/static/ WsgiScriptAlias / "c:/p2/xampp/htdocs/django/apache/mysite.wsgi" DocumentRoot "c:/p2/xampp/htdocs/django/mysite" ServerName 127.0.0.1 <Directory "c:/p2/xampp/htdocs/django/apache"> Allow from all </Directory> </VirtualHost> ############ listen 8985 <VirtualHost *:8985> WsgiScriptAlias / "c:/p2/xampp/htdocs/django/apache/django161c.wsgi" DocumentRoot "c:/p2/xampp/htdocs/django/django161c" ServerName 127.0.0.1 <Directory "c:/p2/xampp/htdocs/django/apache"> Allow from all </Directory> </VirtualHost>
我的mysite.wsgi:
import os,sys sys.path.append('c:/p2/xampp/htdocs/django/mysite') os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings' # works: https://www.pythonanywhere.com/forums/topic/1629/ # this is for changes to django 1.7 # 2015-01-23_Fri_14.13-PM from django.core.wsgi import get_wsgi_application application = get_wsgi_application()
我的django161c.wsgi
import os,sys sys.path.append('c:/p2/xampp/htdocs/django/django161c') os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings' from django.core.wsgi import get_wsgi_application application = get_wsgi_application()
你可以帮我吗?
为什么我得到ENOTEMPTY错误?
应用程序崩溃作为有限的用户
如何完全卸载sql Server 2012
在java中更改目录所有者
如何在Windows上引导MysqL?
解决方案是:
有两个'mysite.settings'它应该是'django161c.settings'在django161c.wsgi 。
这固定它。
然后一直要求我在每个项目中重复登录。
然后我补充说
SESSION_COOKIE_PATH =“/ django161c”
到settings.py,以便每个站点不共享相同的sessionid cookie。
我为“mysite”项目做了同样的事情。
SESSION_COOKIE_PATH =“/ mysite”
另外,我匹配了编译器和mod_wsgi的版本
我用Python 2.7.9 apache 2.4所有的32位和所有的vc9编译器mod_wsgi从这个职位下载:
https://groups.google.com/forum/#!topic/modwsgi/SxedM5UKvic
我将模块命名为mod_wsgi-442-ap24-w32-vc9-py279.so
这样我知道它是mod_wsgi 4.4.2,全部用vc9编译,用于apache 2.4,python 2.7.9,全部是win32。