在 Xampp 中使用 cgi 脚本部署 Flask 应用程序
Deploying a Flask application using cgi script in Xampp
我正在尝试在 XAMMP 上部署一个简单的 Hello World script。
如果 link 被删除这里是 application.py
:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
我的applciation.cgi
脚本如下:
#!C:/Users/Simon/Documents/Python/Scripts/python.exe
from wsgiref.handlers import CGIHandler
from application import hello
CGIHandler().run(app)
C:/Users/Simon/Documents/Python/
是我的虚拟 python 环境的位置。
我按以下方式配置了 XAMMP (httpd.conf):
AddHandler cgi-script .py
ScriptInterpreterSource Registry-Strict
我在所有情况下都保留了这个配置。
我按照建议尝试了以下 in the documentation:
ScriptAlias /Network C:/Users/Simon/Documents/Network/application.cgi
这失败了,我按照 here:
中的建议尝试了这个
<Directory "C:/Users/Simon/Documents/Network">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
Alias /Network "C:/Users/Simon/Documents/Network"
在所有情况下都返回了 Error 500 Server error!
。
我不确定是否需要它,但这是 access.log
中显示的相关错误:
192.168.0.8 - - [17/Feb/2018:13:21:12 +0000] "GET / HTTP/1.1" 500 1100 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.167 Safari/537.36"
如有遗漏请告诉我,我会补上。
如何正确配置我的服务器以便我可以运行这个脚本?
application.cgi中有错误:
#!C:/Users/Simon/Documents/Python/Scripts/python.exe
from wsgiref.handlers import CGIHandler
from application import hello
CGIHandler().run(hello)
然而它仍然返回一个错误:
A server error occurred. Please contact the administrator.
您在 CGI 脚本中导入了错误的东西;结果 app
未定义。您应该导入它而不是 hello
.
我正在尝试在 XAMMP 上部署一个简单的 Hello World script。
如果 link 被删除这里是 application.py
:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
我的applciation.cgi
脚本如下:
#!C:/Users/Simon/Documents/Python/Scripts/python.exe
from wsgiref.handlers import CGIHandler
from application import hello
CGIHandler().run(app)
C:/Users/Simon/Documents/Python/
是我的虚拟 python 环境的位置。
我按以下方式配置了 XAMMP (httpd.conf):
AddHandler cgi-script .py
ScriptInterpreterSource Registry-Strict
我在所有情况下都保留了这个配置。
我按照建议尝试了以下 in the documentation:
ScriptAlias /Network C:/Users/Simon/Documents/Network/application.cgi
这失败了,我按照 here:
中的建议尝试了这个<Directory "C:/Users/Simon/Documents/Network">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
Alias /Network "C:/Users/Simon/Documents/Network"
在所有情况下都返回了 Error 500 Server error!
。
我不确定是否需要它,但这是 access.log
中显示的相关错误:
192.168.0.8 - - [17/Feb/2018:13:21:12 +0000] "GET / HTTP/1.1" 500 1100 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.167 Safari/537.36"
如有遗漏请告诉我,我会补上。
如何正确配置我的服务器以便我可以运行这个脚本?
application.cgi中有错误:
#!C:/Users/Simon/Documents/Python/Scripts/python.exe
from wsgiref.handlers import CGIHandler
from application import hello
CGIHandler().run(hello)
然而它仍然返回一个错误:
A server error occurred. Please contact the administrator.
您在 CGI 脚本中导入了错误的东西;结果 app
未定义。您应该导入它而不是 hello
.