在此服务器上找不到请求的URL /。 Apache服务器中的烧瓶

时间:2019-08-07 09:31:59

标签: python flask mod-wsgi wsgi apache2.4

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

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中(在文件的最后)添加了(三行以下),这是“ mod_wsgi-express module-config”的输出,并且包含了“ Include我的httpd.conf文件中的conf / extra / httpd-vhosts.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文件

导入系统 sys.path.insert(0,'D:\ Tirumalesh \ dev \ text_basic') 从text_basic导入应用程序作为应用程序

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”中并粘贴 .so 文件,  我使用“ 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"

1 个答案:

答案 0 :(得分:0)

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