gpt4 book ai didi

python - 在共享虚拟主机上将 Flask 部署为 CGI

转载 作者:行者123 更新时间:2023-12-03 17:03:58 24 4
gpt4 key购买 nike

我有想要部署的小型 Flask 应用程序。我在 bigrock.com 上购买了域名和托管服务。
我编写了一个小型模拟应用程序来测试我的 Flask 应用程序是否可以作为 CGi 工作。
我使用了以下配置:

文件:/home/USERNAME/public_html/cgi-bin/cgi.cgi

#!/usr/bin/env python  

from wsgiref.handlers import CGIHandler
from myapp import app
import os
import cgitb; cgitb.enable()

os.environ['SERVER_NAME'] = '127.0.0.1'
os.environ['SERVER_PORT'] = '5000'
os.environ['REQUEST_METHOD'] = 'GET'
os.environ['PATH_INFO'] = ""
CGIHandler().run(app)

文件: /home/USERNAME/public_html/cgi-bin/myapp.py
from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
return "This is Hello World!\n"

if __name__ == "__main__":
app.run()

文件: /home/USERNAME/public_html/.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /home/USERNAME/public_html/cgi-bin/cgi.cgi/$1 [L]

使用 ssh session 作为 ./cgi.cgi 运行 cgi.cgi

给出以下输出:
Status: 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 21

This is Hello World!

还运行 myapp.py 作为

python myapp.py



激活开发服务器:
Running on http://127.0.0.1:5000/

现在,无论我何时访问我的网站:

www.mysite.com

www.mysite.com/cgi.cgi

www.mysite.com/cgi-bin/cgi.cgi

我收到 500 内部服务器错误。

当我使用 Python hello world cgi 脚本时,它运行良好:
#!/usr/bin/env python
print "Content-Type: text/html"
print
print """\
<html>
<body>
<h2>Hello World!</h2>
</body>
</html>
"""

我知道类似的问题已经一次又一次地被提出,但没有一个得到正确回答或者答案似乎不起作用。

最佳答案

在调整了很多东西之后,我终于让它工作了。
谢谢你们。

我认为这起到了作用:
我将所有文件上传到/scgi-bin 并编辑了 .htaccess 以反射(reflect)相同的情况。

关于python - 在共享虚拟主机上将 Flask 部署为 CGI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26842184/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com