一、安装nginx依赖
#安装gcc
yum install gcc-c++
#安装PCRE pcre-devel
yum install -y pcre pcre-devel
#安装zlib
yum install -y zlib zlib-devel
#安装Open SSL
yum install -y openssl openssl-devel
二、下载并解压nginx安装包
1.下载nginx安装包
wget http://nginx.org/download/nginx-1.23.0.tar.gz
你也可以到网站选择你所需要的版本
2.解压nginx安装包
#创建一个文件夹
cd /usr/local
mkdir nginx
cd nginx
#解压缩包,直接tar -xvf nginx安装包所在路径
tar -xvf nginx-1.23.0.tar.gz
三、安装nginx
#进入nginx目录
cd /usr/local/nginx
#进入目录
cd nginx-1.16.1
#编译 执行命令 考虑到后续安装ssl证书 添加两个模块 如不需要直接执行./configure即可
./configure --with-http_stub_status_module --with-http_ssl_module
#执行make命令(要是执行不成功请检查最开始安装的四个依赖有没有安装成功)
make
#执行make install命令
make install
四、启动nginx
cd /usr/local/nginx/sbin
# 默认配置文件启动
./nginx
# 指定配置文件启动
./nginx -c /usr/local/nginx/conf/nginx.conf
在浏览器中输入服务器ip即可看见nginx启动成功
浏览器中输入localhost:80
五、配置https
![](https://i-blog.csdnimg.cn/blog_migrate/21ff0cd57d3ff5371e9a7460064c2647.png)
![](https://i-blog.csdnimg.cn/blog_migrate/4f364abc8ed5884f5011e4686ba48490.png)
在配置https过程中添加ssl证书 一定要写对xxx.key和xxx.pem的名字,777权限可能也要给~不然会报错误
六、负载均衡
我的项目是采用flask+uwsgi+nignx的组合,一开始部署flask没有采用nignx反向代理还是蛮顺利的,项目成功运行。到后来用户规模增长,服务器顶不住巨大的流量。进而想到负载均衡,再次过程中遇到的问题做个小结:
我一共加购了3台服务器分别命名A,B,C,D。其中我让A暴露到外网让客户访问,A、B、C作为一个集群形成一个组。当A接受到客户端的请求,Nignx的负载均衡会分发到A、B、C。在A服务器的Nignx的nginx.conf配置文件中写入一个upstream xxx {server ip+port;}
![](https://i-blog.csdnimg.cn/blog_migrate/a9daf24e8c9f9ff0b9318d5b171acf73.png)
整体的文件结构如下:
在附件中!!!
2.在关于uwsgi中的uwsgi.ini配置文件中要将
https-socket=172.17.16.4:5002,/root/vv1/pythonProject_web/yangtez.store_bundle.pem,/root/vv1/pythonProject_web/yangtez.store.key这个https的参数改成http才能开启负载均衡,不然不起作用!
如下:http=172.17.16.4:5002 这样问题完美解决~
![](https://i-blog.csdnimg.cn/blog_migrate/436cd9b72617e87de66905650a552902.png)
注:
Nignx的安装参考了如下文章