所以我试图在Windows服务器上部署我的django项目,使用mod_wsgi和pythong 3.4的apache 2.4。 在configurationhttpd.conf之前,只要尝试启动安装了mod-wsgi的apache,它就能正常工作,并向我显示“it works”页面。 然后我在httpd.conf中做了以下configuration:
# Change Python path used by the server. WSGIPythonPath “/EquipmentCalibration” # Make calls to http://localhost/ refer to the Python/WSGI-script located at the specified location. WSGIScriptAlias / /EquipmentCalibration/equipcal/wsgi.py # Make calls to http://localhost/static refer to the specified folder. Alias /static/ /EquipmentCalibration/static Alias /media/ /EquipmentCalibration/media <Directory /EquipmentCalibration/static> Require all granted </Directory> <Directory /EquipmentCalibration/media> Require all granted </Directory> <Directory /EquipmentCalibration/equipcale> <Files wsgi.py> Require all granted </Files> </Directory>
然后尝试去本地主机:8080(我把端口从80改为8080),我得到这个错误说:
被禁止
您无权访问/在此服务器上。
下面是相关的error.log。
[Thu Sep 29 15:05:25.171920 2016] [mpm_winnt:notice] [pid 7756:tid 528] AH00456: Apache Lounge VC10 Server built: Jul 9 2016 11:59:00 [Thu Sep 29 15:05:25.171920 2016] [core:notice] [pid 7756:tid 528] AH00094: Command line: 'C:\\Apache24\\bin\\httpd.exe -d C:/Apache24' [Thu Sep 29 15:05:25.171920 2016] [mpm_winnt:notice] [pid 7756:tid 528] AH00418: Parent: Created child process 7524 [Thu Sep 29 15:05:25.500078 2016] [wsgi:warn] [pid 7524:tid 456] mod_wsgi: Compiled for Python/3.4.2. [Thu Sep 29 15:05:25.500078 2016] [wsgi:warn] [pid 7524:tid 456] mod_wsgi: Runtime using Python/3.4.3. [Thu Sep 29 15:05:26.171978 2016] [mpm_winnt:notice] [pid 7524:tid 456] AH00354: Child: Starting 64 worker threads. [Thu Sep 29 15:05:27.174429 2016] [mpm_winnt:notice] [pid 7636:tid 456] AH00364: Child: All worker threads have exited. [Thu Sep 29 15:05:29.923754 2016] [authz_core:error] [pid 7524:tid 1108] [client ::1:55483] AH01630: client denied by server configuration: C:/EquipmentCalibration/equipcal/wsgi.py
有人可以帮忙吗? TIA。
这部分:
<Directory /EquipmentCalibration/equipcale> <Files wsgi.py> Require all granted </Files> </Directory>
有一个与WSGIScriptAlias
指令中使用的内容匹配的目录名称。 一个使用equipcal
和另一个equipcale
。 他们需要在该段名称匹配。