flask部署到阿里雲ECS主機端口衝突問題解決辦法

 

測試程序:

#flask_test_app.py
from flask import Flask
app=Flask(__name__)
@app.route("/")
def hello():
	return "Hello World!"
	
if __name__=="__main__":
	#app.run(host="0.0.0.0", port=80)
	app.run(host="0.0.0.0", port=5000)

第一次運行報錯,提示端口已被佔用。

用lsof -i:5000查到佔用端口的PID並kill -KILL PID後,仍然有同樣的問題,網上一查才知道,是主機設置沒有開放5000端口,於是:

1:修改阿里雲防火牆
 
   打開官網,控制檯,自己的服務器,點防火牆,然後添加規則,開放端口(5000)給0.0.0.0/0
    

2:ssh連接服務器修改防火牆
    連接centos7服務器
    systemctl start firewalld.service
    firewall-cmd --zone=public --add-port=5000/tcp --permanent
    systemctl restart firewalld.service
    firewall-cmd --reload
    兩次端口必須一致,缺一不可,,,

3: 如果仍然出現端口被佔用,可以用lsof -i:5000查看佔用端口的程序的PID,然後用kill -KILL PID關閉那些程序。然後再運行flask應用即可。
    python flask_test_app.py
    

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章