一.环境安装

  pip3 install flask

  pip3 install gunicorn

  pip3 install nginx

二.模块介绍

  1.Flask是一个使用 Python 编写的轻量级 Web 应用框架 

  2.gunicorn是一个python Wsgi http server,只支持在Unix系统上运行,来源于Ruby的unicorn项目。Gunicorn使用prefork master-worker模型(在gunicorn中,master被称为arbiter),能够与各种wsgi web框架协作。

  3.Nginx (engine x) 是一个高性能的HTTP反向代理服务

三.Centeos7部署

 1.使用gunicorn代替flask自带服务

    启动方式为 gunicorn -w 4 -b 0.0.0.0:5100 Flask:app     开启4进程端口为5100 (几核开几进程)

    可以自己配置gunicorn用配置文件启动,

    也可以在flask服务运行目录自建脚本run_gunicorn.py,代码如下

    

import re
import sys
from gunicorn.app.wsgiapp import run
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script/.pyw|/.exe)?$','',sys.argv[0])
sys.exit(run())

    启动方式  python3 run_cunicorn -w 4 -b 0.0.0.0:5100 Flask:app

    gunicorn默认使用同步阻塞的网络模型(-k sync),对于大并发的访问可能表现不够好,可以使用gevent 或 meinheld    python3 run_cunicorn -w 4 -b 0.0.0.0:5100 -k gevent Flask:app (这里使用gevent)

    后台启动 nohup 启动程序命令 &

    2.nginx安装目录为  /etc/nginx

    vi /etc/nginx/nginx.conf

    配置监听端口为80 server_name为使用域名

    location反向代理设置为flask项目部署的公网ip+端口   例如192.16.1.1:5100

        可以只想多个地址

  下面附上我的配置

worker_processes  1;
events {
worker_connections 1024;
} http {
include mime.types;
default_type application/octet-stream; sendfile on;
keepalive_timeout 65; upstream servers{
server 121.198.10.158:5100; #指向地址 自己更改 可以有多个
server 130.55.74.217:5100;
}
server {
listen 80; #监听本地80端口,注意端口冲突 server_name 域名; #域名 也可以是 本机ip 可以使用本机 ip+端口 访问 location / {
proxy_pass http://servers; #指向servers
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
}

检测端口是否占用:   端口冲突会导致nginx错误

  netstat  -anp  |grep 端口号     

查看防火墙状态:     (防火墙一定要关)

  [root@centos6 ~]# service iptables status

  iptables:未运行防火墙。

开启防火墙:

  [root@centos6 ~]# service iptables start

关闭防火墙:

  [root@centos6 ~]# service iptables stop

  

Centeos7部署Flask+Gunicorn+nginx的更多相关文章

  1. 用docker部署flask+gunicorn+nginx

    说来惭愧,写了好几个flask django项目都是在原型阶段直接python app.py 运行的,涉及到部署用nginx和gunicorn 都是让别人帮我部署的,据说好像说很麻烦的样子,我就没自己 ...

  2. 基于docker部署flask+gunicorn+nginx

    nginx安装在/etc/下,项目映射在docker中的/var/www/下 1.创建docker容器将端口映射出来,将docker外的项目映射到docker中 #docker run -it -p ...

  3. CentOS7部署Flask+Gunicorn+Nginx+Supervisor

    1. Git客户端 Win10安装git for windows 1.1 设置Git全局参数 打开Git Bash $ git config --global user.name "Alic ...

  4. 基于flask+gunicorn+nginx来部署web App

    基于flask+gunicorn&&nginx来部署web App WSGI协议 Web框架致力于如何生成HTML代码,而Web服务器用于处理和响应HTTP请求.Web框架和Web服务 ...

  5. 初次部署django+gunicorn+nginx

    初次部署django+gunicorn+nginx  博客详细地址  https://www.cnblogs.com/nanrou/p/7026802.html 写在前面,这只是我所遇到的情况,如果有 ...

  6. 【新手向】阿里云上ubuntu+flask+gunicorn+nginx服务器部署(二)项目部署

    本项目实现的是类似于ins的图片分享网站.继续(一),当nginx的配置已修改好后,要在远程服务器上部署网站,只需要几个步骤: 1 前期准备 2 将运行网站的代码从github上下载过来 3 下载依赖 ...

  7. 阿里云部署 Flask + WSGI + Nginx 详解

    抵不住朋友的诱惑,今天终于入手了一台阿里云服务器,是Ubuntu 1.4 32位版本,最初考虑是用来尝尝鲜只是买了个最低配的,价格算起来与在国外买个空间的价格相当吧(可能一年才贵100多),但用起来感 ...

  8. Web项目部署(Flask Angular2 Nginx)

    独立弄了一个项目,也是锻炼自己的工程能力,使用了比较常用的框架,后端Flask,前端Angular2,采用前后端完全分离的方式,通过接口传输json,但是在具体部署过程中,查找资料较为零散,故整理如下 ...

  9. Flask + Gunicorn + Nginx 部署

    最近很多朋友都在问我关于 Flask 部署的问题,说实在的我很乐意看到和回答这样的问题,至少证明了越来越多人开始用 Flask 了. 之前我曾发表过一篇在 Ubuntu 上用 uwsgi + ngin ...

随机推荐

  1. springboot--事务的使用

    @Transactional原理 事务是一些sql语句对数据库操作的集合,因此如果在一个Java方法里涉及了对数据库的操作,业务需要的话我们就可以考虑把这些操作作为一个事务.通过在方法上加个@Tran ...

  2. Web前端安全分析

    随着互联网高速的发展,信息安全已经成为企业重点关注焦点之一,而前端又是引发安全问题的高危据点,所以,作为一个前端开发人员,需要了解前端的安全问题,以及如何去预防.修复安全漏洞. 一.XSSS攻击 1. ...

  3. Badboy - 从excel中读取数据

    参考: http://leafwf.blog.51cto.com/872759/1119161 http://www.51testing.com/html/00/130600-1367743.html ...

  4. lightoj 1126 - Building Twin Towers(dp,递推)

    题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1126 题解:一道基础的dp就是简单的递推可以设dp[height_left][ ...

  5. (六十二)c#Winform自定义控件-警灯(工业)

    前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kwwwvagaa/NetWinformControl 码云:ht ...

  6. SQL Server2008 inner join多种方式的实践

    这些天的学习,才发现自己对SQL原来是如此的不了解.之前一直以为自己轻松应对各种复杂的SQL查询,但是一旦提到效率上,可能就比较傻眼了,有时候也会埋怨客户的服务器不好使. 至于Inner Join的三 ...

  7. WebGL简易教程(四):颜色

    目录 1. 概述 2. 示例:绘制三角形 1) 数据的组织 2) varying变量 3. 结果 4. 理解 1) 图形装配和光栅化 2) 内插过程 5. 参考 1. 概述 在上一篇教程<Web ...

  8. DevOps平台

    DevOps定义(来自维基百科): DevOps(Development和Operations的组合词)是一种重视"软件开发人员(Dev)"和"IT运维技术人员(Ops) ...

  9. FreeSql (八)插入数据时指定列

    插入数据时指定列,和忽略列对应,未被指定的列将被忽略. var connstr = "Data Source=127.0.0.1;Port=3306;User ID=root;Passwor ...

  10. HBase的表结构

    HBase以表的形式存储数据.表有行和列组成.列划分为若干个列族/列簇(column family).  如上图所示,key1,key2,key3是三条记录的唯一的row key值,column-fa ...