我在使用mod_wsgi在apache2上部署應用程序時出現問題。錯誤日誌和配置文件如下。我總是得到內部服務器錯誤。這與How to solve import errors while trying to deploy Flask using WSGI on Apache2非常相似,但由於某種原因,在那裏提出的解決方案在此不起作用。在apache2上使用wsgi部署Flask應用程序時出錯
Apache的錯誤日誌
[Thu Aug 27 12:06:30.366817 2015] [:error] [pid 9330:tid 140623686452992] [remote 2.239.9.178:64904] mod_wsgi (pid=9330): Target WSGI script '/var/www/bitcones/bitcones.wsgi' cannot be loaded as Python module.
[Thu Aug 27 12:06:30.366867 2015] [:error] [pid 9330:tid 140623686452992] [remote 2.239.9.178:64904] mod_wsgi (pid=9330): Exception occurred processing WSGI script '/var/www/bitcones/bitcones.wsgi'.
[Thu Aug 27 12:06:30.366894 2015] [:error] [pid 9330:tid 140623686452992] [remote 2.239.9.178:64904] Traceback (most recent call last):
[Thu Aug 27 12:06:30.366913 2015] [:error] [pid 9330:tid 140623686452992] [remote 2.239.9.178:64904] File "/var/www/bitcones/bitcones.wsgi", line 4, in <module>
[Thu Aug 27 12:06:30.366969 2015] [:error] [pid 9330:tid 140623686452992] [remote 2.239.9.178:64904] from bitcones import bitcones as application
[Thu Aug 27 12:06:30.366981 2015] [:error] [pid 9330:tid 140623686452992] [remote 2.239.9.178:64904] File "/var/www/bitcones/bitcones/bitcones.py", line 6, in <module>
[Thu Aug 27 12:06:30.367045 2015] [:error] [pid 9330:tid 140623686452992] [remote 2.239.9.178:64904] from analysis import cone as _cone, flow
[Thu Aug 27 12:06:30.367056 2015] [:error] [pid 9330:tid 140623686452992] [remote 2.239.9.178:64904] File "/var/www/bitcones/bitcones/analysis/cone.py", line 5, in <module>
[Thu Aug 27 12:06:30.367121 2015] [:error] [pid 9330:tid 140623686452992] [remote 2.239.9.178:64904] from analysis.statistics import purity_statistics
[Thu Aug 27 12:06:30.367139 2015] [:error] [pid 9330:tid 140623686452992] [remote 2.239.9.178:64904] ImportError: No module named analysis.statistics
bitcones.wsgi
#!/usr/bin/python
import sys
sys.path.insert(0,"/var/www/bitcones")
from bitcones import bitcones as application
Apache虛擬主機文件
<VirtualHost *:80>
ServerName <my-server-name>
ServerAdmin <my-email>
WSGIDaemonProcess bitcones user=<my-username> group=<my-username> threads=5
WSGIScriptAlias//var/www/bitcones/bitcones.wsgi
<Directory /var/www/bitcones>
WSGIProcessGroup bitcones
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
我的應用程序樹
部分(一切都在/ var/WWW/bitco nes /)
├── bitcones
│ ├── analysis
│ │ ├── <some_files>
│ │ └── statistics
│ │ │ ├── <some_files>
│ ├── bitcones.py
│ ├── static
│ │ ├── <some static content>
│ └── templates
│ └── <my_templates>.html
└── bitcones.wsgi
這應該足以找出爲什麼我有這個導入錯誤。 如果需要其他文件/配置,請詢問。我在想我。
謝謝!
編輯: 我只想補充一點,我在這個指南:http://flask.pocoo.org/docs/0.10/deploying/mod_wsgi/
CGI腳本是否正確配置? – facundofarias
據我所知,我沒有使用cgi,我使用的是mod_wsgi,它是wsgi的一個實現。現在,我的mod_wsgi腳本是否正確配置?我不知道...這是我的問題;) – valenz
你期望使用什麼Python版本,以及mod_wsgi使用什麼?你不會在你的目錄中顯示任何''__init __。py''文件,這對於大多數Python版本是必需的,否則你的軟件包將無法工作。除此之外,可能是文件系統權限或SELinux限制。 –