Nginx
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器
默认占用 80 端口
作用
反向代理、负载均衡、动静分离
HTTP代理, 反向代理: 作为 Web 服务器最常用的功能之一, 尤其是反向代理
代理客户端的是正向代理,代理服务器端的是反向代理
正向代理: VPN
反向代理: 网站访问
Nginx提供的负载均衡策略有两种: 内置策略和扩展策略, 内置策略为轮询、加权轮询、IP Hash、扩展策略
轮询
均分请求到每一台服务器
加权轮询
根据每台服务器的权重分配请求数量
IP Hash (性能不好, 不推荐, 更推荐使用 Radis 实现 session 共享)
对客户端请求的 IP 进行 Hash 操作, 然后根据 Hash 结果讲同一个客户端 IP 的请求分发给同一台服务器进行处理, 可以解决 session 不共享的问题
动静分离, 将 动态资源 与 静态资源 ( 如: CSS、HTML、jpg、js等等不许要经过后台处理的文件 ) 分隔处理
Nginx 常用命令
cd /usr/local/nginx/sbin/ ./nginx 启动 ./nginx -s stop 停止 ./nginx -s quit 安全退出 ./nginx -t 检测配置文件是否有语法错误,然后退出 ./nginx -s reload 重新加载配置文件 ps aux|grep nginx 查看nginx进程
反向代理与负载均衡实战
在 nginx 配置文件 nginx.conf 中 http{ ## 负载均衡 upstream test{ ## test 为自定义名称 ## weight 为权重值 server ip1:port1 weight=1; server ip2:port2 weight=1; } ## 代理 server{ location / { ## '/' 为访问目录 root html; index index.html index.htm; proxy_pass 代理ip; } } }