Nginx

介绍:

        Nginx (engine x) 是一个高性能的HTTP反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。

        Nginx是一款轻量级Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。

 

正向代理:

23bfb1e5105d40da95823094a959aa19.png

 反向代理:

f20a3308d66a4f9c9579d888cabcfcc1.png

 

 

负载均衡:

0699c9d7fead45e38297ef4bd2dd7222.png

99263bb5655a4245a0653f40426f36be.png

 

动静分离:

d1e8c0d924cc45fc831af06cbe32f825.png

 

 

安装Nginx:

       博客地址: 使用yum安装Nginx

        在nginx文件夹中的sbin是启动脚本。

        启动nginx:

88e62fdec29e4cc781970d7999a67e22.png

        要想连接linux中的nginx需要关闭防火墙:

                关闭防火墙命令: systemctl stop firewalld

        不关闭防火墙连接到nginx:

                      1.使用   sudo firewall-cmd --add-port=80/tcp --permanent   设置要开放的端口

                       2.在重启防火墙  firewall-cmd --reload

                ​​​​​​7c4a6f476bbb460e85f35a72df361289.png

                   fe7b284c05c14c0192cf7d9a406b3d04.png

 

使用Nginx命令:

        使用nginx命令必须进入到 /usr/local/nginx/sbin/  目录中

        常用命令:

                查看nginx的版本:

                10b6354399ed4e68a314137e147380fb.png

                启动nginx: 4025e078183a41219a3f9067b2a5c0b2.png

                关闭nginx:

0f93b06fee154da8b6ffe1b86f128665.png

                重新加载nginx:   将nginx的配置文件重新加载,不是重启nginx

 1f2c6a6283964c089eb3811cff995769.png

 

Nginx配置文件的组成:

        Nginx配置文件由三部分组成:

                第一部分:全局块

                        从配置文件开始到 events块之间的内容,主要会设置一些影响nginx 服务器整体运                     行的配置指令,比如 worker_processes1; worker_processes值越大,可以支持的并发                       处理量也越多。

                第二部分:events块

                        events 块涉及的指令主要影响 Nginx服务器与用户的网络连接比如 :                                           worker_ connections1024;      支持的最大连接数

                第三部分:http块

                        Nginx服务器配置中最频繁的部分

                        http块也包括http全局块server块

 

 

配置反向代理:

        准备工作:

ccaf01cbb26645e58060598fbf9d9e39.png

        访问一个网站的流程:

                会现在本地的host文件中找域名对应的ip地址,host文件中没有才到网络中的DNS中找。

06b89fd619da46b0bacda1af945cf131.png

         host文件在windows的位置

         bd8292512ed74873b68139ae2ec115b4.png

         具体配置:

                (1)打开host文件在其中配置IP地址+域名

                861e66d38bfe4cb6aa4635cb7a9572e3.png

                (2)在Nginx中进行请求转发的配置(反向代理配置)

                        /usr/local/nginx/conf/nginx.conf       在这个文件中配置反向代理

                2d6501ab3e6d4b4e890f73d395e25379.png

                       修改的内容如下: f249570318094c4ba00d4d533dc7a879.png

 根据URL判断跳转到哪个ip地址中:

        要求:08780fdebbd641069341c8862cf3563d.png

        在配置文件中进行实现:

        c99cf8c5546f42f493b54199761dbf8e.png

        测试结果:

90d35f230301446e953a0d3c9a33c045.png

0f216e7adc0e4d479eed8369d307778d.png

 

 

负载均衡:

 

        实现负载均衡:

                在http块中进行配置,

     261d3f1ce725423babc711cba5e5358c.png

         Nginx分配服务器策略:

                第一种:轮询(默认)

                         每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能                  自动剔除。

                第二种:weight

                        weight代表权,重默认为1,权重越高被分配的客户端越多。

                   fb804a0b4a484a1a870342d7951c3945.png

                 第三种:ip hash

                        每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以                    解决session的问题。

                        974530fba02f4735888cb37db4d65373.png

                 第四种:fair(第三方)

                        按后端服务器的响应时间来分配请求,响应时间短的优先分配。

                        781d1c9677c44d0db83d27a5607baef2.png

 

动静分离:bcd3c4e7f5d04e8a8837daa0a9c5ad01.png

         具体配置:

                在http块中配置:

                7df2bf425ca04a01b7d6431af3cec8d2.png

 

 

高可用:

        高可用的具体配置可以看博客:

                高可用配置(详细版)
                 高可用配置(简洁版)

04c788212a76434a98f76ce03474bb1c.png

         (1)keepalived.conf配置文件:

45e93b215d244348b275b135041fe617.png

ff62be9d10ab4652ba25559228412810.png


vrrp_script chk_http_port {
	 script "/usr/local/src/nginx_check.sh"	 # 执行脚本所在的位置
	 interval 2 	#检测脚本执行的间隔,单位秒,每个2秒执行一次脚本
	 weight 2
}
	
vrrp_instance VI_1 {
	 state MASTER	 # 备份服务器上将 MASTER 改为 BACKUP
	 interface ens33	 # 绑定的网卡
	 virtual_router_id 51	 # 主、备机的 virtual_router_id 必须相同
	 priority 90 	# 主、备机取不同的优先级,主机值较大,备份机值较小
	 advert_int 1 	#每隔一秒发送一次心跳,确保从服务器是否还活着
	 authentication {		# 心跳检测需要的密码
		 auth_type PASS
		 auth_pass 1111
 	}
	 virtual_ipaddress {
	 192.168.17.50 	# VRRP H 虚拟地址
	 }
}

         (2)在/usr/local/src 添加检测脚本,检查Nginx是否还活着

#!/bin/bash
A=`ps -C nginx –no-header |wc -l`
if [ $A -eq 0 ];then
 /usr/local/nginx/sbin/nginx 	#Nginx启动命令的位置
 sleep 2
 if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
 killall keepalived
 fi
fi

        (3)把两台服务器上 nginx 和 keepalived 启动

启动 nginx:	./nginx
启动 keepalived:	systemctl start keepalived.service

         keepalived常用命令

systemctl start keepalived.service

systemctl stop keepalived.service

systemctl restart keepalived.service

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值