我正在使用带有debian linux mod_wsgi和烧瓶的树莓派。我使用本教程设置了所有内容,如果我运行命令,python脚本将运行
python myFile.py
但是,当我尝试从 apache 运行它时,我收到 HTTP 500 错误。
这是我的 wsgi 文件:
#!/usr/bin/python
import sys
import logging
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0,'/var/www/FlaskApp/')
from FlaskApp import app as application
这是我的 .conf 文件:
<VirtualHost *:80>
ServerName (my-server-ip)
ServerAdmin (my-Email)
WSGIScriptAlias / /var/www/FlaskApp/flaskapp.wsgi
<Directory /var/www/FlaskApp/FlaskApp/>
Order allow,deny
Allow from all
</Directory>
Alias /static /var/www/FlaskApp/FlaskApp/static
<Directory /var/www/FlaskApp/FlaskApp/static/>
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
这些是 WSGI 文件的权限
-rw-r--r-- 1 root root 211 Jul 30 18:51 flaskapp.wsgi
我已经看过许多不同的教程,但还没有找到解决方案......
我确定我没有为我的 python 文件运行虚拟环境,并且知道这可能是一个问题,但不确定如何解决这个问题。提前感谢您的帮助。
这是我得到的错误:
[Mon Jul 31 17:09:29.367693 2017] [wsgi:error] [pid 2921:tid 1971319856] [client :62373] mod_wsgi (pid=2921): Target WSGI script '/var/www/FlaskApp/flaskapp.wsgi' cannot be loaded as Python module.
[Mon Jul 31 17:09:29.367924 2017] [wsgi:error] [pid 2921:tid 1971319856] [client :62373] mod_wsgi (pid=2921): Exception occurred processing WSGI script '/var/www/FlaskApp/flaskapp.wsgi'.
[Mon Jul 31 17:09:29.368074 2017] [wsgi:error] [pid 2921:tid 1971319856] [client :62373] Traceback (most recent call last):
[Mon Jul 31 17:09:29.368221 2017] [wsgi:error] [pid 2921:tid 1971319856] [client :62373] File "/var/www/FlaskApp/flaskapp.wsgi", line 8, in <module>
[Mon Jul 31 17:09:29.368643 2017] [wsgi:error] [pid 2921:tid 1971319856] [client :62373] from FlaskApp import app as application
[Mon Jul 31 17:09:29.368793 2017] [wsgi:error] [pid 2921:tid 1971319856] [client :62373] ImportError: No module named FlaskApp
这个答案来自Graham Dumpleton:
使用 python 2 时,项目文件夹中必须有一个名为__init__.py
的文件!就我而言,该文件夹的路径恰好是/var/www/FlaskApp/FlaskApp
.