vlambda博客
学习文章列表

Flask部署至云服务器

菜鸟须知

      前面你已经经历了HTML+CSS+Javascript等非人的折磨,也学会了Linux的操作。

       现在就到了用Python-Flask作为后端程序部署到云服务器上,这样你的一个网页功能就已经实现了!

       现在让我们来看看吧!



在步入正题之前,先来答两道题吧!


01

通常Flask部署的方法一般是?

点击空白处查看答案

1. linux sh & nohup后台运行python脚本

2. 使用flask + nginx + gunicorn

3. 使用screen命令部署

4. 使用flask + nginx + uwsgi 

 

02

Gunicorn是什么?

点击空白处查看答案

Gunicorn ‘Green Unicorn’ 是一个 UNIX 下的 WSGI HTTP 服务器,它是一个 移植自 Ruby 的 Unicorn 项目的 pre-fork worker 模型。(绿色独角兽)

 
Flask部署至云服务器

现在就来开始Gunicorn之路吧!

 Let's go!


1.按照惯例先来安装这个Gunicorn


pip install gunicorn#这个一般是python2条件下的;
pip3 install python3-gunicorn#这个就可以省去很多麻烦;

安装好Gunicorn,你就搞好了90%


对,就是这么简单!!!


2.运行Gunicorn


gunicorn -w 2 -b 0.0.0.0:8080 app:app

这是运行Gunicorn最简单的命令


gunicorn -w 3 -b 0.0.0.0:8080 app:app --error-logfile=/logs/error.log --access-logfile=/logs/access.log -D

这是一般的命令格式


!important基本参数说明

参数

简化

说明

-bind

-b

IP及端口

-workers INT

-w

线程数

-error-logfile


_

错误日志

-daemon

-D

后台运行

-worker-class

-k

同步并发等设置


3.部署时遇到的问题!


  • 安装Gunicorn失败;

  • Gunicorn启动不成功;

  • Gunicorn启动了却访问不到;

  • Gunicorn启动了外网访问不到;

  • Gunicorn进程关闭不了;


       遇到这些问题,二话不说,直接用我们祖传的排除法解决问题!(万能法)


  1. 先将你的Flask后台程序在本地windows上运行,访问成功就继续下一步;


  2. 将程序移植在云服务器上,安装环境最好现在虚拟环境下运行,并检查你的Python环境是不是为3或以上,然后安装Python3-gunicorn;


  3. 单独运行一次app.py文件,看一下是否能运行成功;



  4. 运行成功就打开app.py文件,将其末尾的app.run()改成app.run(host='0.0.0.0');


  5. 检查云服务器的防火墙及安全组是否全都放通了;(放通所有端口emm)


  6. 输入gunicorn的命令运行一遍,若上述没问题,则可以跑通;



  7. 如果按照上述做法仍无法解决的,可以后台私信或者去网上找!


       好了,以上就是我在比赛中遇到的一个小问题,希望能对你们有所帮助。


嚣张的小姜
生活杂事
2篇原创内容
Official Account

有用就扩散!