Ubuntu谷歌云虚拟机Flask应用Apache部署404问题求助
Flask应用Apache部署问题排查
以下是针对你遇到的"Not Found"错误的具体排查和修复步骤:
1. 修正路径不匹配问题
你提到应用放在pyapp文件夹,但所有配置文件里均使用pytask作为路径名,同时WSGI文件名和配置里的引用也不一致,这是核心问题:
- 修改
app.wsgi文件路径:如果应用实际在/var/www/html/pyapp,更新路径为:import sys import logging sys.path.insert(0, '/var/www/html/pyapp') sys.path.insert(0, '/var/www/html/pyapp/venv/lib/python3.9/site-packages/') logging.basicConfig(stream=sys.stderr, level=logging.DEBUG) from app import app as application - 修正Apache站点配置
pytask.conf:同步路径并修正WSGI文件引用:
注:原配置中<VirtualHost *:80> ServerName *** ServerAdmin *** ServerAlias *** DocumentRoot /var/www/html WSGIDaemonProcess pytask threads=5 python-home=/var/www/html/pyapp/venv WSGIScriptAlias / /var/www/html/pyapp/app.wsgi <Directory /var/www/html/pyapp> WSGIProcessGroup pytask WSGIScriptReloading On Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost><Directory pytask>是相对路径,Apache无法解析,必须改为绝对路径;同时Apache 2.4+不再需要Order deny,allow和Allow from all,保留Require all granted即可。
2. 修复文件权限问题
确保Apache服务用户(www-data)拥有应用文件夹的读取权限:
sudo chown -R www-data:www-data /var/www/html/pyapp sudo chmod -R 755 /var/www/html/pyapp
3. 重启服务并验证
修改配置后必须重启Apache生效:
sudo systemctl restart apache2
如果仍有问题,查看错误日志获取具体报错信息:
tail -n 20 /var/log/apache2/error.log
内容的提问来源于stack exchange,提问作者Andrea Latorre
相关产品推荐
相关产品推荐

