Skip to main content
 首页 » 编程设计

python之使用 Flask 的 Apache Web 服务器,部署我的 Web 应用程序

2025年01月19日32bluestorm

我有一个小的 flask 应用程序,我想在我的网站上托管。每当我在我的计算机上运行它并通过 localhost:5000/连接时它都有效,但是当我上传到我的服务器并运行 python 代码时,我收到多个错误。当它运行时,它只在本地主机上运行,​​并且可以通过服务器控制台连接,但是当我尝试指定它要托管在所有面向公众的 ip 上时,它说不允许操作。

这是终端输出

`/home/public]$ python app.py 
Traceback (most recent call last): 
  File "app.py", line 14, in <module> 
    app.run(host='0.0.0.0', port=port, debug=True) 
  File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 841, in  
run 
    run_simple(host, port, self, **options) 
  File "/usr/local/lib/python2.7/site-packages/werkzeug/serving.py", line  
717, in run_simple 
    s.bind((hostname, port)) 
  File "/usr/local/lib/python2.7/socket.py", line 228, in meth 
    return getattr(self._sock,name)(*args) 
socket.error: [Errno 1] Operation not permitted 

`

我的应用程序.py

from flask import Flask, render_template, request 
import time 
 
app = Flask(__name__) 
port=33 
 
@app.route("/") 
def index(): 
    x = int(round(time.time() * 1000)) 
    return render_template("index.html", stylevar=x) 
 
if __name__ == "__main__": 
    app.run(host='0.0.0.0', port=port, debug=True) 

如果我通过域名连接并导航到/templates,我的 index.html 文件将会显示,但它不会运行 python 代码。

非常感谢有关如何从浏览器连接到它的任何指导。我知道 flask 不适用于生产环境,但这只是一个小的个人项目。如果除了 Flask 之外还有其他环境可以实现,我愿意尝试其他的东西。

请您参考如下方法:

该脚本无权使用低于 1024 的端口运行。如果您确实需要使用端口 33,则必须以 root 身份运行该脚本。