0


Flask项目到服务器部署

前几天看到华为云的服务器在搞活动,40块就有一年,虽然性能差但是想着自己搞个网站玩玩也可以就买了一套。

这篇文章代码用的python,讲述了我在搭建时遇到的一些坑以及解决方式。

废话不多说直接开搞

首先 pip install flask(这个应该没什么疑问吧)

创建一个文件夹,名字随意,在目录下再创建一个 templates 文件夹,这个文件夹主要用来存HTML文件。

新建一个.py 的文件

from flask import Flask, render_template

app = Flask(__name__)

@app.route("/")  #这里定义链接地址
def helloworld():
    return "hello world"  #这是返回的内容,这是一个文本

@app.route("/hello")
def register():
    return render_template("register.html") #这是一个网页html文件

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

这里用到的render_template 会固定返回templates文件夹下的文件,所以需要提前创建templates文件夹

flask运行的默认端口是5000,所以在本地启动的地址就是127.0.0.1:5000

@app.route("/")这里表示的就是原地址 127.0.0.1:5000,斜杠后面写什么,就在地址后面追加什么就可以访问了。例如我第二个写了个/hello,那我访问的地址就是127.0.0.1:5000/hello。

后期如果需要部署在服务器上的话,那就需要在main函数的app.run()里定义地址与端口

if __name__ == '__main__':
    app.run(host='0.0.0.0',port=5000)

像这样就是所有地址都可以访问并且端口为5000

说一下我遇到的坑

第一个就是在服务器上部署后无法访问,经查是需要抛出相应的端口,例如默认的5000就需要抛出5000端口,但我在服务器后台抛出5000端口并没有作用,多方查询,喜获如下秘籍,当然这是ubuntu下的命令。其中的5000就是需要开放的端口,可以换其他端口。

/sbin/iptables -I INPUT -p tcp --dport 5000 -j ACCEPT

第二个坑就是我在关掉终端后,flask也随之关停,这让我好郁闷

解决方法如下,将其中的app.py换成自己的文件名就好

nohup python3 app.py >/dev/null 2>&1 &

第三个就是在启动时会有如下报错,这是说你在测试环境,并不在正式环境运行,这是你需要

用到gevent模块

pip install gevent


from gevent import pywsgi

再把启动函数换一下

if __name__ == '__main__':
#    app.run(host='0.0.0.0',port=5000)
    server = pywsgi.WSGIServer(('0.0.0.0',5000),app)
    server.serve_forever()

ok这样就可以访问了

标签: flask python 后端

本文转载自: https://blog.csdn.net/m0_51385980/article/details/125495842
版权归原作者 TX669 所有, 如有侵权,请联系我们删除。

“Flask项目到服务器部署”的评论:

还没有评论