You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 14:45:20