在一个又一个教程之后,我尝试了一百万种不同的配置,但仍然无法让我的flask应用程序在mod_wsgi下运行:
我的WSGI脚本
#!/usr/bin/python
import sys
import logging
import site
logging.basicConfig(stream=sys.stderr)
site.addsitedir('/server/FLASKENV/lib/python3.9/site-packages/')
sys.path.insert(0,"/server/FLASKAPPS/PPSPortal/restapi/")
from main.py import app as application
application.secret_key="REDACTED"
Apache 2配置:
VirtualHost *:80>
ServerName myserver.com
ServerAdmin me@myserver.com
WSGIScriptAlias / /server/FLASKWSGI/ppsportal.wsgi
WSGIDaemonProcess ppsrestapi user=www-data group=www-data threads=5 python-home=/server/FLASKENV
<Directory /server/FLASKAPPS/PPSPortal/restapi>
Options FollowSymLinks
AllowOverride None
Require all granted
</Directory>
ErrorLog /server/FLASKAPPS/PPSPortal/restapi/logs/error.log
LogLevel warn
CustomLog /server/FLASKAPPS/PPSPortal/restapi/logs/access.log combined
</VirtualHost>
这些应用程序所在的整个目录都属于我的www-data:www-data
,我得到的错误是403禁止
我在error.log中得到的信息:
[Sat Aug 14 09:22:57.441200 2021] [authz_core:error] [pid 24121:tid 140166979081984] [client 192.168.0.15:41200] AH01630: client denied by server configuration: /server/FLASKWSGI/ppsportal.wsgi
听起来Apache似乎没有访问该对象的权限。确保为此特定原因设置了帐户,并允许文件访问此帐户。然后使用
chown
设置该用户对这些文件的访问权限在开发环境中,例如Apache帐户。
chown -R wwwrun:www /home/user1/Develop/
或者你可以给每个人访问权限,但我不建议这样做。
chmod 777 -R /home/user1/Develop/
如果这不起作用,您可能需要手动允许访问apache配置中的wsgi文件
应该是这样的
-信用证:@eandersson
注:不幸的是,我没有足够的声誉来投票认为这个问题是重复的
相关问题 更多 >
编程相关推荐