- nginx配置文件:(使用yum安装,所以位置在/etc/nginx/nginx.conf )
| 包含三部分内容 |
| (1)全局块:配置服务器整体运行的配置指令 |
| 比如 worker_processes 1;处理并发数的配置 |
| (2)events 块:影响 Nginx 服务器与用户的网络连接 |
| 比如 worker_connections 1024; 支持的最大连接数为 1024 |
| (3)http 块 |
| 还包含两部分:http 全局块、server 块 |
| 轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除 |
| weight weight 代表权重默认为 1,权重越高被分配的客户端越多 |

| ip_hash 每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器;也即是第一次使用该请求访问到8080端口的服务器,以后每次使用该请求都会访问到8080服务器 |

| fair(第三方) 按后端服务器的响应时间来分配请求,响应时间短的优先分配;也即是哪个tomcat启动快就先访问哪个 |

- 动静分离:nginx将动态请求转发到tomcat服务器,将静态请求转发到对应的静态资源
| 动静分离的实现:方式一将静态文件放在单独的域名;方式二将动态和静态文件混合一起发布 |
| 通过 location 指定不同的后缀名实现不同的请求转发;通过 expires 参数设置,可以使浏 览器缓存过期时间,减少与服务器之前的请求和流量 |
| |
| 访问静态资源实现: |
| 在Linux根目录下新建文件夹和html:/data/www/a.html |
| 在Linux根目录下新建文件夹和图片:/data/image/01.jpg |
| 修改nginx配置文件:开放的路径、转发方式 |

| 启动nginx测试:window浏览器输入:192.168.17.129/image/01.jpg 将会访问到图片 |
| 输入:192.168.17.129/image/ 会显示图片的目录 |
| 输入:192.168.17.129/www/a.html 会显示html页面 |
| 我们发送的请求通过nginx转发到不同的tomcat服务器,如果nginx服务器突然故障,我们切换到另一台linux的nginx服务器,需搭建nginx集群 |
| 同时需在Linux服务器上安装leepalived进行监听nginx是否正常运行,两台nginx服务器对外暴露一个虚拟ip |

| |
| |
| |
| yum install keepalived -y |
| /etc/keepalived/keepalived.conf |
| systemctl start keepalived.service |
| ps -ef | grep keepalived |
| |
| |
| |
| 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 |
| interface ens33 |
| virtual_router_id 51 |
| priority 100 |
| advert_int 1 |
| authentication { |
| auth_type PASS |
| auth_pass 1111 |
| } |
| virtual_ipaddress { |
| 192.168.17.50 |
| } |
| } |
| |
| |
| |
| 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 |
| |
| |
| |
| |
| |
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术