什么是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首页

【Flask】Nginx / Gunicorn入门:部署你的Flask项目相关推荐

  1. 【Flask】Nginx+Gunicorn+Supervisor部署一个Flask项目:步骤总结

    为什么要使用gunicorn? Flask 作为一个 Web 框架,内置了一个 webserver, 但这自带的 Server 到底能不能用? 官网的介绍: While lightweight and ...

  2. Flask项目部署云服务器 CentOS7.3+Redis+MySQL+Flask+Nginx+Gunicorn +Supervisorctl

    Flask项目部署云服务器 CentOS7.3+Redis+MySQL+Flask+Nginx+Gunicorn +Supervisorctl 项目运行环境 阿里云(单核CPU, 2G内存, Cent ...

  3. Python3 Flask+nginx+Gunicorn部署(上)

    前言:一般在本地运行flask项目通常是直接python3 文件名.py,然后打开:http://127.0.0.1:5000 查看代码结果 这次主要是记录flask在python3 环境结合ngin ...

  4. django+nginx+gunicorn+supervisord部署配置

    一.背景介绍 后端服务是Django框架编写的,需要使用Gunicorn进行服务托管,使用supervisord进行保持活跃,最后通过Nginx向外提供服务 二.nginx+gunicorn 安装和配 ...

  5. 云主机配置微信公众号后台全记录 --【 阿里云ECS CentOS7 + Python3 + Flask + Nginx + Gunicorn + WeRoBot + Systemd 】

    前言 在天秤座的纠结性格反复权衡后,最终我还是拥有了自己的第一个个人云主机.我这里选择的是"阿里云学生专享服务器",在做学生的最后一年有幸享受到9.5/月的优惠价格,还是要感谢阿里 ...

  6. CentOS7 + Xshell6 + Xftp6 + Nginx+ Gunicorn环境部署与项目发布

    具体步骤 1. 链接服务器 你需要拥有一个服务器,我是通过Xshell6 连接上阿里云服务器(CentOS7系统)的. Xshell6 + Xftp6 阿里云操作系统CentOS7Server 2. ...

  7. Nginx下同域部署多个Vue项目(history路由模式),报404、500错误

    主要内容 一.环境 二.问题描述 三.问题解决 1.修改vue项目中的vue.config.js文件 2.修改Nginx的nginx.conf配置文件 3.Nginx目录结构 一.环境 系统: win ...

  8. Centos7+nginx+uwsgi来部署我的Django项目

    前不久写了个小的博客项目,想着将它部署到服务器上去,因为是第一次部署项目,有很多的东西都不这么懂,走了很多的弯路,现在部署成功了,怕以后忘记了就记录下笔记 首先我的项目结构如下: 关于服务器的远程连接 ...

  9. Flask 应用部署方式之 Flask+Gunicorn+Nginx

    1. Why Flask+Gunicorn+Nginx Flask+Gunicorn+Nginx是最常用的Flask部署方案,大家深究过为何用这样的搭配么? 1.1 Why? Flask 是一个web ...

最新文章

  1. ldconfig命令详解,linux动态链接库
  2. 你的房东可能正用AI筛查你的犯罪记录,决定要不要租房给你
  3. 深入探究Java中equals()和==的区别是什么
  4. WEBBASE篇: 第五篇, CSS知识3
  5. Azure Cosmos Db 介绍及演示
  6. Maven - settings.xml里的offline节点的作用
  7. 旋转研究(矩阵,欧拉角,四元数)
  8. Ubuntu16.04镜像下载
  9. python立方体类_python学习12类
  10. vba编写的出库单(可添加出库项目记录、生成、打印出库单)
  11. iOS开发 ☞ 系统自带字体
  12. bmp qimage 保存位_在Qt中保存QImage(Save a QImage in Qt)
  13. 魔兽支持宽屏--怎样让宽屏支持更多游戏?
  14. 小程序apkg还原_狐妖小红娘手游背后,有这样一群“天真”的人
  15. iOS HomeKit Quick Start iOS HomeKit快速入门 Lynda课程中文字幕
  16. Error inflating class出现报错
  17. 半导体的光学性质和光电与发光现象
  18. 寒假每日一题题解(1.20)十三号星期五
  19. 『网络迷踪』ctfshow-网络迷踪(部分)
  20. JPEG2000图像压缩算法学习

热门文章

  1. 大脚导入配置选择哪个文件_有史以来最全的 IntelliJ IDEA 配置图解
  2. pcb地线应该不应该做成环路_干货|图文详解EMC的PCB设计技术
  3. VSCode remote-ssh插件报错“拒绝连接“
  4. 不平等博弈问题学习记录(三)(对于超实数在博弈下左大右小以及多堆情况的扩充)
  5. 数据结构与算法 | 归并排序
  6. Linxu的常用命令
  7. 如何从0搭建公司的后端技术栈
  8. 高并发场景下 disk io 引发的高时延问题
  9. LiveVideoStack成立5周年生日快乐!一路走来,感谢有你!
  10. 如何将RTC中基于AI的音频算法有效的产品化