提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
6Nginx配置实例-动静分离
6.1 理解
就是把动态请求和静态请求分开,不能简单理解为把动态页面与静态页面分开;使用nginx处理静态页面,使用tomcat处理动态页面
6.2 准备工作
1在linux 系统中准备静态资源 用于进行访问
2在根目录新建/data/image/01.jpg
3在根目录新建/data/www/a.html
6.3修改配置文件
修改 server_name; loacation
6.4 最终测试
浏览器输入: 192.168.12.108/image/01.jpg
浏览器输入: 192.168.12.108/www/a.html
7Nginx–配置实例–高可用
7.1理解
1 nginx负责转发请求到不同的tomcat中,一旦nginx宕机 就不能转发请求了,所以配置成高可用效果;
2 需要用到软件 keepalived 它用来检测 主nginx是否活着 如果主nignx宕机了自动切换到从nginx;
3 其中 主,从nginx 对外暴露的是一个虚拟ip,外面是访问虚拟ip来访问 目标服务器的;
4 keepalive 起到路由作用, 主nginx绑定虚拟ip ,当检测到主nignx挂了,keepalive再将虚拟ip绑定的备nginx
7.2准备工作
1需要两台nginx服务器
192.168.12.1108 192.168.12.184
2需要安装 keepalived
3需要虚拟ip
7.2.1 安装keepalivd
https://developer.aliyun.com/article/520844
使用yum 安装
yum install keepalived
7.2.2启动keepalived命令
systemctl start keepalived.service
7.3高可用配置
1 修改 /etc/keepalived/keepalived.conf 配置文件
2 添加检测 nginx 宕机的脚本 /usr/local/src/nginx_check.sh
在 /etc/keepalived/ 会有 keepalived.conf 如果没有自己手动创建
keepalived.conf内容如下:
"""
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.17.129
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_script chk_http_port {
script "/usr/local/src/nginx_check.sh"
interval 2 #(检测脚本执行的间隔)
weight 2
}
vrrp_instance VI_1 {
state MASTER # 备份服务器上将 MASTER 改为 BACKUP
interface enp0s31f6 //网卡
virtual_router_id 51 # 主、备机的 virtual_router_id 必须相同
priority 100 # 主、备机取不同的优先级,主机值较大,备份机值较小
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.17.50 // VRRP H 虚拟地址
}
}
"""
(2)在/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
sleep 2
if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
killall keepalived
fi
fi
"""
主从主要修改的点如下:
3 启动 两台nginx和keepalived
#启动nginx
./nignx
#启动keepalived
systemctl start keepalived.service
#
4 测试
1 浏览器访问虚拟地址 192.168.12.50 访问nignx
2 杀掉主服务器的nignx keepalived 再次访问 192.168.12.50 看看结果