我有一个小瓶子应用程序,我正试图在我的网站上托管。每当我在我的计算机上运行它,它通过localhost:5000 /连接,但当我上传到我的服务器,并运行python代码,我得到多个错误。当它运行时,它只能在localhost上运行,并且可以通过服务器控制台连接,但是当我尝试指定它将托管在所有面向公众的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代码。
非常感谢如何让它从浏览器连接到任何方向。我知道烧瓶不适合生产环境,但这只是一个小型的个人项目。如果除了烧瓶之外还有其他环境可以实现,我愿意尝试其他的东西。
答案 0 :(得分:1)
该脚本无权使用低于1024的端口运行。如果确实需要使用端口33,则必须以root用户身份运行该脚本。