当前位置:   article > 正文

Flask项目到服务器部署_flask部署到服务器

flask部署到服务器

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

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

废话不多说直接开搞

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

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

新建一个.py 的文件

  1. from flask import Flask, render_template
  2. app = Flask(__name__)
  3. @app.route("/") #这里定义链接地址
  4. def helloworld():
  5. return "hello world" #这是返回的内容,这是一个文本
  6. @app.route("/hello")
  7. def register():
  8. return render_template("register.html") #这是一个网页html文件
  9. if __name__ == '__main__':
  10. 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()里定义地址与端口

  1. if __name__ == '__main__':
  2. 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

  1. from gevent import pywsgi

再把启动函数换一下

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

ok这样就可以访问了 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/604572
推荐阅读
相关标签
  

闽ICP备14008679号