由于项目迁移至.NetCore 做分布式服务,Ocelot和Nginx之间选择最后使用了Nginx作为网关和负载均衡服务,下面简述Nginx安装教程,后期陆续把负载均衡,路路由重写,限流 健康检查等配置写出来 本次使用环境为Centos7。
1. Nginx简介
Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器,因它的稳定性,丰富的功能集,配置简单和低系统资源的消耗而闻名
Nginx的最大特点是是对高并发的支持和高效的负载均衡
2. Nginx的特点
•热部署
master管理进程与worker工作进程的分离设计,在7*24小时不间断的前提下,升级nginx的可执行文件,也可以在不停止服务的情况下修改配置文件,更换日志文件等内容
.高并发连接
官方测试单台nginx能够支撑5万并发连接,在实际生产环境中可 以达到2-3万并发连接
•内存消耗少
在一般情况下,10000个非活跃的HTTP keep-Alive连接在Nginx中仅消耗2.5M内存,这是Nginx支持高并发连接的基础
•支持Rewrite重写规则
能够根据域名URL的不同,将HTTP请求分发到不同的后端服务器群组
**•成本低廉**
Nginx作为开源免费软件,可以免费使用
**•内置的健康检查 **
如果Nginx Proxy后端的某台Web服务宕机了,不会影响前端的访问
3. Nginx的安装
废话不多说,
一、安装依赖 nginx安装需要从官网下载源码进行编译,所以要依赖一些编译环境。
//编译依赖gcc环境
.yum install gcc
// nginx的http模块使用pcre来解析正则表达式,所以需要在linux上
安装pcre库
.yum install pcre-devel
// zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包
的内容进行gzip,所以需要在linux上安装zlib库。
.yum install zlib zlib-devel
//OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码
算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的
应用程序供测试或其它目的使用,nginx不仅支持http协议,还支持
https(即在ssl协议上传输http),所以需要在linux安装openssl
库。
.yum install openssl openssl-devel
一键安装所需要的依赖库
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel pcre````
二、下载和解压nginx
cd /usr/local //进入local目录
mkdir nginx //创建一个文件夹
cd nginx //进入nginx目录
//下载tar包
wget http://nginx.org/download/nginx-1.13.7.tar.gz
//解压
tar -zxvf nginx-1.13.7.tar.gz
三、安装 nginx
//进入nginx解压目录
cd /usr/local/nginx/nginx-1.13.7
//配置 执行命令 --prefix 绑定安装目录 安装目录可以自己指定可
以和下载目录不同,这里制定为/usr/local/nginx 不写 --prefix= 会
使用默认安装目录
./configure --prefix=/usr/local/nginx
//执行make命令 编译
make
//执行make install命令 安装
make install
四、查看安装路径并进入
[root@localhost nginx-1.13.7]# whereis nginx
nginx: /usr/local/nginx
//进入nginx安装目录
[root@localhost nginx-1.13.7]# cd /usr/local/nginx
五.安装完成启动测试
//进入nginx执行目录
cd sbin
//启动Nginx
sudo ./nginx
由于Cenots操作系统原因需要把nginx监听目录在防火墙内配置 这里
直接关闭操作系统防火墙
systemctl stop firewalld.service
nginx默认监听端口为80
此时在windows内网电脑上访问ip:80端口会出现Nginx默认界面 或者在Linux的图形界面浏览上输入locashost
表示Nginx安装成功
nginx的基本操作
启动 [root@localhost ~]
# /usr/local/nginx/sbin/nginx
停止/重启 [root@localhost ~]
# /usr/local/nginx/sbin/nginx -s stop(quit、reload)
命令帮助
[root@localhost ~]# /usr/local/nginx/sbin/nginx -h
验证配置文件
[root@localhost ~]# /usr/local/nginx/sbin/nginx -t
配置文件
[root@localhost ~]#
vim /usr/local/nginx/conf/nginx.conf
下篇会介绍nginx的配置文件