【Flask】Nginx / Gunicorn入门:部署你的Flask项目

什么是Nginx?
参考:Nginx入门

在这里插入图片描述
什么是反向代理呢?

我们很多人应该都用过淘宝,要知道每天同时连接到淘宝网站的访问人数已经爆表,单个服务器远远不能满足人民日益增长的购买欲望了,此时就出现了一个大家耳熟能详的名词:分布式部署;

也就是通过部署多台服务器来解决访问人数限制的问题;淘宝网站中大部分功能也是直接使用nginx进行反向代理实现的

上图表示的是全国各地的用户在淘宝客户端发出请求,经过了Nginx 反向代理服务器,nginx服务器接收到之后,按照一定的规则分发给了后端的业务处理服务器进行处理。

此时~请求的来源也就是客户端是明确的,但是请求具体由哪台服务器处理的并不明确了。Nginx扮演的就是一个反向代理角色。

总结下:反向代理,主要用于服务器集群分布式部署的情况下,反向代理隐藏了服务器的信息

为什么使用Gunicorn?
参考:gunicorn 详解
flask 自带的 wsgi 不推荐生产环境使用,官方推荐使用其他的 wsgi 服务器进行部署(如 gunicorn )

Flask 自带的开发Web 服务器不够强健、安全和高效,无法在生产环境中使用。在本章,
我们要介绍几种不同的部署方式。
调试器是开发过程中进行问题调试的优秀工具,但其显然不能在生产环境中使用。生产环
境中发生的错误会被静默掉,取而代之的是向用户显示一个500 错误页面。不过幸好错误
的栈跟踪不会完全丢失,因为Flask 会将其写入日志文件。
在程序启动过程中,Flask 会创建一个Python 提供的logging.Logger 类实例,并将其附属
到程序实例上,得到app.logger。在调试模式中,日志记录器会把记录写入终端;但在生
产模式中,默认情况下没有配置日志的处理程序,所以如果不添加处理程序,就不会保存
日志。

电子邮件日志记录器的日志等级被设为logging.ERROR,所以只有发生严重错误时才会发送
电子邮件。通过添加适当的日志处理程序,可以把较轻缓等级的日志消息写入文件、系统
日志或其他的支持方法。这些日志消息的处理方法很大程度上依赖于程序使用的托管平台。

Flask 自带的开发Web 服务器表现很差,因为它不是为生产环境设计的服务器。有两个
可以在生产环境中使用、性能良好且支持Flask 程序的服务器,分别是Gunicorn(http://
gunicorn.org/)和uWSGI(http://uwsgi-docs.readthedocs.org/en/latest/)。

安装

安装Web 服务器。例如,可通过如下命令安装Gunicorn:

(venv) $ pip install gunicorn
某视频教程

视频教程链接
在这里插入图片描述
在这里插入图片描述

CentOS上的操作

查看python版本
python -V注意V大写

查看pip版本
pip -V

在这里插入图片描述

安装gunicorn

pip install gunicorn

CentOS-7安装pip

查看pip版本:pip -v

如果pip安装包出现Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)):参考文章
在这里插入图片描述

使用supervisor

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


nginx+Gunicorn部署你的Flask项目

参考:Gunicorn部署Flask项目

首先安装gunicorn
pip install gunicorn

vim编辑test.py
在这里插入图片描述
使用gunicorn test:app运行py文件
在这里插入图片描述
在浏览器中访问
在这里插入图片描述

LINUX安装nginx详细步骤
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/t8116189520/article/details/81909574

1.安装依赖包


 
 
  1. //一键安装上面四个依赖
  2. yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

2.下载并解压安装包


 
 
  1. //创建一个文件夹
  2. cd /usr/local
  3. mkdir nginx
  4. cd nginx
  5. //下载tar包
  6. wget http://nginx.org/download/nginx -1.13 .7.tar.gz
  7. tar -xvf nginx -1.13 .7.tar.g

3.安装nginx


 
 
  1. //进入nginx目录
  2. cd /usr/local/nginx
  3. //执行命令
  4. ./configure
  5. //执行make命令
  6. make
  7. //执行make install命令
  8. make install

4.配置nginx.conf


 
 
  1. # 打开配置文件
  2. vi /usr/local/nginx/conf/nginx.conf

将端口号改成8089,因为可能apeache占用80端口,apeache端口尽量不要修改,我们选择修改nginx端口。

localhost修改为你服务器ip地址。

5.启动nginx

/usr/local/nginx/sbin/nginx -s reload
 
 

查看nginx进程是否启动:

ps -ef | grep nginx

 

6.若想使用外部主机连接上虚拟机访问端口192.168.131.2,需要关闭虚拟机的防火墙:

centOS6及以前版本使用命令: systemctl stop iptables.service

centOS7关闭防火墙命令: systemctl stop firewalld.service

随后访问该ip即可看到nginx界面。

 

7.访问服务器ip查看

 

安装完成一般常用命令

进入安装目录中,

命令: cd /usr/local/nginx/sbin

启动,关闭,重启,命令:

./nginx 启动

./nginx -s stop 关闭

./nginx -s reload 重启


访问示例

开启nginx
在这里插入图片描述
在虚拟机中使用ifconfig查看ip地址(我使用的是桥接模式),然后在实体机浏览器中输入虚拟机ip:8089即可访问到nginx首页
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值