python - 在此服务器上找不到请求的 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"
解决方案
看起来你正在使用 python3 (3.7) 并且你正在使用 pip。不要使用“pip install mod_wsgi”,而是使用“pip3 install mod_wsgi”并启用调试模式。
推荐阅读
- python - 在运行时更改类实例的属性值
- javascript - 是否可以根据徽章文本更改徽章颜色?
- postgresql - 转换参数 $1 类型:不支持的类型 []interface {},接口切片
- javascript - 将过滤结果输出到文本框中
- python - 如何可视化和理解这段代码
- docker - 当另一个站点重定向到我的 vue 应用程序时,Nginx 405 不允许
- python - Tensorflow - TypeError:'int'对象不可迭代
- html - 如何阻止我的导航溢出到我的 div
- xamarin - “securestorage”不包含 setasync 的定义
- json - serde_json::Value 以外的类型的 Serde Stream Deserializer