携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第30天,点击查看活动详情
六、负载均衡
6.1 实现效果
浏览器地址栏输入地址 http://www.123.com/edu/a.html,负载均衡效果,平均8080和8081端口中
6.2 环境配置
重新加载该配置文件
[root@tomcat2 sbin]# ./nginx -s reload
[root@tomcat2 sbin]# pwd
/usr/local/nginx/sbin
6.3 测试
七、动静分离
7.1 实现效果
将静态资源独立存放,由nginx转发静态资源
7.2 环境准备
[root@tomcat2 data]# ll
total 0
drwxr-xr-x 2 root root 19 Mar 17 17:26 image
drwxr-xr-x 2 root root 19 Mar 17 17:29 www
[root@tomcat2 data]# cd image/
[root@tomcat2 image]# ls
1.jpeg
[root@tomcat2 data]# cd www/
[root@tomcat2 www]# ll
total 4
-rw-r--r-- 1 root root 27 Mar 17 17:29 a.html
每次修改过配置文件,都要重新加载配置文件
[root@tomcat2 conf]# cd /usr/local/nginx/sbin/
[root@tomcat2 sbin]# ./nginx -s reload
7.3 测试
八、高可用
8.1 环境准备
部署两台nginx服务器
yum install -y keepalived
[root@nginx-master ~]# rpm -q keepalived keepalived-1.3.5-19.el7.x86_64
==/usr/local/src/nginx_check.sh==
[root@nginx-master ~]# vim /usr/local/src/nginx_check.sh
#!/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 #nginx挂掉后,杀掉这个服务器的所有keepalived进程
fi
fi
==keepalived.conf==
[root@nginx-master src]# vim /etc/keepalived/keepalived.conf
#全局配置
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 172.20.10.13 #主机ip
smtp_connect_timeout 30
router_id LVS_DEVEL #服务器域名名字,可在/etc/hosts中查看127.0.0.1映射的域名
}
#脚本配置
vrrp_script chk_http_port {
script "/usr/local/src/nginx_check.sh" #脚本路径
interval 2 #(检测脚本执行的间隔);每隔2s检查一次
weight 2 #设置服务器权重
}
#虚拟ip的配置
vrrp_instance VI_1 {
state MASTER # Master为Master;Salve为BACKUP
interface ens33 #网卡;可以用ip addr 看网卡名
virtual_router_id 51 # 主、备机的 virtual_router_id 必须相同
priority 90 # 主、备机取不同的优先级,主机值较大,备份机值较小
advert_int 1 #每1s发送一次心跳
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
172.20.10.50 #VRRP H 虚拟ip地址,多台keepalived绑定一个ip;必须同一网段
}
}
==slave同上,以下为不同点==
smtp_server 172.20.10.13 #主机ip
state BACK
priority 90
8.2 测试
访问测试
把master的keepalived和nginx断掉
[root@nginx-master ~]# systemctl stop keepalived
[root@nginx-master ~]# cd /usr/local/nginx/sbin/
[root@nginx-master sbin]# ./nginx -s stop
[root@nginx-master sbin]#
不断刷新还是能访问nginx页面
九、优秀文章
[正向代理,反向代理](cloud.tencent.com/developer/a…