1.什么是Nginx
Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。nginx是一个高性能的反向代理和负载均衡中间件。
2.nginx的优点
1)在性能上,Nginx占用很少的系统资源,能支持更多的并发连接,达到更高的访问效率;
2)在功能上,Ngi nx是优秀的代理服务器和负载均衡服务器;
3)在安装配置上,Nginx安装简单、配置灵活;
4)Nginx支持热部署,启动速度特别快,还可以在不间断服务的情况下对软件版本或配置进行升级,即使运行数月也无需重新启动。
热部署:应用正在运行的过程中升级软件,而不用重启软件。
3.nginx的功能
nginx不能直接处理java或者php等逻辑,nginx只是一个中转站 (类似于路由器)。他可以把静态资源的请求直接返回给前端静态资源,把动态资
源(接口)请求转发给相应的后端,例如tomcat,这些tomcat没有ngi nx也是可以访问的。因为大部分情况下,这些后端程序的端口是放到防火墙
里面的(不对外暴露)客户端想要访问这些服务,直接访间nginx的服务即可。
nginx不能直接处理java或者PHP等逻辑,nginx只是一个中转站(类似于路由器)!!!
4.反向代理
反向代理的意思是你可以访问到服务,但是你访问的服务不是真正的服务,只是nginx给你转发的服务,反向代理成功的隐藏了服务的真实ip。类似于qq匿名聊天,你可以和网友聊天,但是不知道那个网友真正是谁。可以有效的提高系统的安全性。
4.1 负载均衡
4.1.1轮询(默认)
每个服务按照时间顺序逐一分配到不同的后端服务器 上,如果后端服务器挂掉,能自动剔除。
4.1.2指定权重
指定轮询几率, weight和访问比率成正比,用于后端服务性能不均的情况。
4.1.3 ip绑定
每个请求按照客户端的ip的hash结果来分配,这样每个客户端进来的请求就会进到-一个服务器里面(集群环境中采用此种方案可以不用考虑session共享问题,或者服务器缓存问题)
4.1.4最少连接
每次请求都会进到最少连接数的服务器,然后再考虑轮询。
5.NGINX的安装
#安装gcc
yum install gcc-c++
#安装pcre
yum install -y pcre pcre-devel
#安装zlib
yum install -y zlib zlib-devel
#安装openssl
yum install -y openssl openssl-devel
#下载nginx
wget http://nginx.org/download/nginx-1.18.0.tar.gz
#解压
tar -zxvf nginx-1.18.0.tar.gz
#进入到nginx目录
cd nginx-1.18.0
#编译
./configure
make
make install
#进入sbin目录下启动
cd usr/local/nginx/sbin
#启动
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
#重启
/usr/local/nginx/sbin/nginx -s reload