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

问题描述 投票:2回答:1

我有一个小烧瓶应用程序,我正在尝试在我的网站上进行托管。每当我在计算机上运行它并通过localhost:5000 /进行连接时,它都可以工作,但是当我上载到服务器并运行python代码时,却遇到了多个错误。当它运行时,它只能在localhost上运行,并且可以通过服务器控制台连接到它,但是当我尝试指定将其托管在所有面向公共ip的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

`

我的app.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代码。

非常感谢您提供有关如何从浏览器进行连接的任何指导。我了解到烧瓶并不适合生产环境,但这只是一个很小的个人项目。如果可以使用烧瓶以外的其他环境,那么我愿意尝试其他方法。

python apache flask web-deployment
1个回答
1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.