- root(根目录)
- server_name (匹配主机或域名)
- 反向代理
- 代理一台主机
- 代理多台主机
- 权重(生产常用)
- down(不常用)
- backup(不常用)
- rewrite
- keepalived高可用(对外暴露虚拟ip)
- 安装步骤
- http下两个server 监听两个端口(80、88)
- 当前主机80端口下资源请求转发到/www/www (访问: localhost:80 )
- 当前主机88端口下资源请求转发到/www/vod (访问: localhost:88)
www或者vod下有index.html、index.htm 则为index页
- 两个server 同一端口 不同server_name ()
- server_name可配置多个域名空格隔开
- server_name可配置*,如配置 ※.chinalife.online 则除www.chinalife.online外的请求都走*的规则
- server_name可配置域名(域名一定要配置泛解析)和主机名
- 访问www.chinalife.online根目录为/www/www
- 访问vod.chinalife.online根目录为/www/vod
- 反向代理proxy_pass发生在location下,和root、index互斥所以注释root、index
- 访问当前项目80端口根目录会代理到百度首页
- 代理多台主机
- 增加upstream(该项和server同级) upstream httplist(可自定义命名) 需要和proxy_pass中的http://名称 一致
- 访问当前主机80端口会将请求转发到16、17机器上(默认轮询)
- upstream 模块中可定义每台机器权重,根据机器的带宽硬件配置等信息设置权重,好一点的机器多分担一点压力,图上配置每8次请求六次转发给16机器,2两次转发给17机器(平均 不是一定)
- 设置down代表机器下线,不参与负载均衡
- backup备用机器,16、17都无法访问了才会被负载到106上,正常情况下不会负载到该机器
- 当前项目根目录下访问 /1.html 实际nginx访问地址为 http://192.168.1.106:8080/doc.html (隐藏真实url)
- 当匹配到访问地址正则后执行真实地址转发 例子为隐藏swagger前端真实地址
- 除了break 还有 redirect permanent等会改变浏览器url地址
1. 安装 yum install -y keepalived 2. 修改配置 vi /etc/keepalived/keepalived.conf 3. 启动 systemctl start keepalived
主机配置
ip addr 可以看到网卡下面已经有配置的虚拟IP
备用机配置
- 主备配置的 vrrp_instance名称 virtual_router_id、authentication 必须一致
- 主机启动后ip信息中会有虚拟ip信息,backup启动后不会有
- 主机宕机后 虚拟ip会切换到backup(此时ip addr可查看到虚拟ip切换)



