首页 > 解决方案 > 在此服务器上找不到请求的 URL /。Apache服务器中的烧瓶

问题描述

我正在点击此链接“ https://medium.com/@madumalt/flask-app-deployment-in-windows-apache-server-mod-wsgi-82e1cfeeb2ed ”在 Windows 中部署烧瓶应用程序......

1)通常这是在我的 http-vhosts.conf 文件中:

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "${SRVROOT}/docs/dummy-host2.example.com"
    ServerName dummy-host2.example.com
    ServerAlias www.dummy-host2.example.com
    ErrorLog "logs/dummy-host2.example.com-error.log"
    CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>

现在,我在下面添加了服务器名称 WSGIScriptAlias 目录,使其看起来像这样:

<VirtualHost *:80>
    ServerName localhost
    WSGIScriptAlias / "D:/Tirumalesh/dev/text_basic/web.wsgi"    
    DocumentRoot "D:/Tirumalesh/dev/text_basic"   
    <Directory D:/Tirumalesh/dev/text_basic>                        
        Require all granted
    </Directory>
</VirtualHost>

2)我在我的httpd.conf(在文件的最后)中添加了(3行以下),这是来自“mod_wsgi-express module-config”的输出,我已经包含了“包含conf/extra/httpd- vhosts.conf”(虚拟主机)在我的 httpd.conf 文件中

LoadFile "c:/users/lucid/anaconda3/python37.dll"
LoadModule wsgi_module "c:/users/lucid/anaconda3/lib/site-packages/mod_wsgi/server/mod_wsgi.cp37-win_amd64.pyd"
WSGIPythonHome "c:/users/lucid/anaconda3"

3)接下来我创建一个包含以下内容的 web.wsgi 文件

import sys sys.path.insert(0, 'D:\Tirumalesh\dev\text_basic') from text_basic import app as application

4)我的python文件是“text_basic.py”(其名称必须与我的.wsgi文件相同)

from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
    return ("Hello World qwertyuiop!!")
if __name__ == "__main__":
    app.run()

之后我重新启动了我的 apache 服务器并尝试运行“localhost”,但我没有得到“Hello World qwertyuiop!!” 这个输出在我的 html 页面中,而不是我得到“在此服务器上找不到请求的 URL /”。

我有什么遗漏吗?

注意https ://github.com/GrahamDumpleton/mod_wsgi/releases/download/4.4.12/mod_wsgi-windows-4.4.12.tar.gz

而不是下载这个“mod_wsgi-windows-4.4.12.tar.gz”这个文件并寻找正确的 mod_wsgi.so 文件并将其复制到我的“C:\Users\lucid\VS16\Apache24\modules”并粘贴。所以文件,我使用“pip install mod_wsgi”下载了mod_wsgi,在我运行“mod_wsgi-express module-config”并将以下输出复制到文件最后一行的httpd.conf之后......

LoadFile "c:/users/lucid/anaconda3/python37.dll"
LoadModule wsgi_module "c:/users/lucid/anaconda3/lib/sitepackages/mod_wsgi/server/mod_wsgi.cp37- 
   win_amd64.pyd"
WSGIPythonHome "c:/users/lucid/anaconda3"

标签: pythonflaskmod-wsgiwsgiapache2.4

解决方案


看起来你正在使用 python3 (3.7) 并且你正在使用 pip。不要使用“pip install mod_wsgi”,而是使用“pip3 install mod_wsgi”并启用调试模式。


推荐阅读