【建议收藏】神器 Nginx 的学习手册
共 4640字,需浏览 10分钟
· 2021-02-11
公众号关注“杰哥的IT之旅”, 选择“星标”,重磅干货,第一时间送达! 来源:blog.csdn.net/yujing1314/article/details/107000737
![](https://filescdn.proginn.com/d2c1421ab15034cd3242c5fc8c567aec/c2c27fb9c56addc6c876859c5b8e6bfd.webp)
02
反向代理
![](https://filescdn.proginn.com/734ab145607216634b4194dbf53d54ca/4f25ac18e29e038459c10695dfc64a92.webp)
![](https://filescdn.proginn.com/4de5d0a21bdf8a9c88adf953d525f4bc/6f6b039b70952c43d733c4805ee613af.webp)
![](https://filescdn.proginn.com/78ce2d6ad61416fa7acfcbac34d03ba6/e5949d27ba39724f8ed67b4278cd5d4a.webp)
![](https://filescdn.proginn.com/6547d596bc1e89396531f83363d4766a/8746b08476459ba15b8aff8d86d94e6b.webp)
04
动静分离
![](https://filescdn.proginn.com/4eb0a6c1908b6a04fcb4d69f945c3cd5/077f0be61a2b45ea6cabdf57b2e35ad2.webp)
![](https://filescdn.proginn.com/3064d31fdeba444e4643c5a08f569027/8bf5f55e12f3feb227f261361c493fbf.webp)
Nginx 如何在 Linux 安装
https://blog.csdn.net/yujing1314/article/details/97267369
Nginx 常用命令
./nginx -v
./nginx
./nginx -s stop
./nginx -s quit
./nginx -s reload
Nginx 的配置文件
①全局块
![](https://filescdn.proginn.com/746fecda67e1765aafa9450eb81ff2eb/ad3c893728dd96fa3a712dccdd5c0053.webp)
②events 块
![](https://filescdn.proginn.com/75e30702ab0c5c93100c54dd30f859de/c22d9c6a95ff7786796b2d0c49d48903.webp)
③HTTP 块
location[ = | ~ | ~* | ^~] url{
}
=:用于不含正则表达式的 url 前,要求字符串与 url 严格匹配,匹配成功就停止向下搜索并处理请求。
~:用于表示 url 包含正则表达式,并且区分大小写。
~*:用于表示 url 包含正则表达式,并且不区分大小写。
^~:用于不含正则表达式的 url 前,要求 Nginx 服务器找到表示 url 和字符串匹配度最高的 location 后,立即使用此 location 处理请求,而不再匹配。
如果有 url 包含正则表达式,不需要有 ~ 开头标识。
07
反向代理实战
①配置反向代理
![](https://filescdn.proginn.com/3c4aaa3c139e8b0b208baf062e4de6cb/77a7fb26c7b8205f54b3bbffcabdeff0.webp)
![](https://filescdn.proginn.com/f31751c2456309ccc0841365dd629f1a/256e8aa036012e9bed24b128980e69ea.webp)
![](https://filescdn.proginn.com/47f88914acab4e4f89770e6b26c7b2b5/de5541fc42a61f252a75478e84b4302b.webp)
![](https://filescdn.proginn.com/b8734d7a241d76df5d63a3a283b44f57/d8f827d9783904a4905c6eafd5f7cbf4.webp)
![](https://filescdn.proginn.com/4345872439473b294088e4e9636e323c/9982cdfca12cd2f99e5d775c9cfe674d.webp)
访问 http://192.168.25.132:9001/edu/ 直接跳转到 192.168.25.132:8080
访问 http://192.168.25.132:9001/vod/ 直接跳转到 192.168.25.132:8081
![](https://filescdn.proginn.com/674574f9bbaf4bd2bfeebca3dde8f34d/46090a5e9bd88117258ac13975f4d6c0.webp)
![](https://filescdn.proginn.com/5691f3db3b15a1a9f0a5e156bccde1e1/8d3ef55cb56fc0350ad8dab99040e47c.webp)
![](https://filescdn.proginn.com/2b1f92838787e070504cb5e72873e6dc/5ddd95a15255d4c3248bbe6ba76be996.webp)
![](https://filescdn.proginn.com/7c27ad30be64c2b15883a3846d70d42c/c5c3947e457d647e97dc75de96dea26d.webp)
![](https://filescdn.proginn.com/f7984ddcc201c2a85706cabada85804f/adb97221320d9c2c10e53778d6abe757.webp)
![](https://filescdn.proginn.com/48bd0c52b133ca1a82f6f19cf75d5426/d95bdd80bbffa0a131fc3e7802a6037f.webp)
![](https://filescdn.proginn.com/d68a3f3bedf4db3a4f4d66a71071ffd5/0b688e21e7e92f8afb3f1445f1ef5c87.webp)
./nginx -s reload
![](https://filescdn.proginn.com/ab66d88ff2196bc16a640cab1e67f9de/dd18dd2ed327d578bb32c39034e298cf.webp)
![](https://filescdn.proginn.com/ab66d88ff2196bc16a640cab1e67f9de/dd18dd2ed327d578bb32c39034e298cf.webp)
192.168.25.132 www.123.com。
访问 http://192.168.25.132:9001/edu/ 直接跳转到 192.168.25.132:8080
访问 http://192.168.25.132:9001/vod/ 直接跳转到 192.168.25.132:8081
![](https://filescdn.proginn.com/f7ae6f271c372c460e48476f57a1d47e/50469fb20b577b1786be5cc19d2972eb.webp)
![](https://filescdn.proginn.com/5366ce552bec57d595abaf899408429b/274f769dab0a9e2e0cac0ac7b9200053.webp)
./nginx -s reload
![](https://filescdn.proginn.com/be6cb056d4e32b52d6d4c3f841772749/ed3f254f99e17c77dfe1eb1b5d528923.webp)
![](https://filescdn.proginn.com/d2f2fbdce680fe2c21aa73d6935882b4/a520d69d78425b25d716e095d66abecf.webp)
轮询(默认)。
weight,代表权,权越高优先级越高。
fair,按后端服务器的响应时间来分配请求,相应时间短的优先分配。
ip_hash,每个请求按照访问 ip 的 hash 结果分配,这样每一个访客固定的访问一个后端服务器,可以解决 Session 的问题。
09
动静分离实战
什么是动静分离?把动态请求和静态请求分开,不是讲动态页面和静态页面物理分离,可以理解为 Nginx 处理静态页面,Tomcat 处理动态页面。
纯粹将静态文件独立成单独域名放在独立的服务器上,也是目前主流方案。
将动态跟静态文件混合在一起发布,通过 Nginx 分开。
动静分离图析:
![](https://filescdn.proginn.com/93920a8d92a0605e170f0c5e77bbe54a/2cfdaa2b1a4ca65a2c785431c998de42.webp)
![](https://filescdn.proginn.com/d0829a00f2c78e06d332c5f3a37a0400/975664d07af26770a54be47c0ca7c722.webp)
![](https://filescdn.proginn.com/fc61ca3b1c5650e62e7a92fa87157a71/9ba7338dd29ae1d674300e3f38c98908.webp)
![](https://filescdn.proginn.com/d35beed251dac0098b78ef3e4c24f5fd/ffb2a39218fc5f1247645e2af42c711d.webp)
Nginx 高可用
![](https://filescdn.proginn.com/867e60ea02956332ebdbeb13c27ee58a/3575ba57515a50f6b7db70eeca29958c.webp)
![](https://filescdn.proginn.com/f1d620fd1ff819aa8109742ce1da0cc3/a9b641785795ea392277646b8f20b26d.webp)
两台 Nginx 服务器
安装 Keepalived
虚拟 ip
安装 Keepalived:
[root@192 usr]# yum install keepalived -y
[root@192 usr]# rpm -q -a keepalived
keepalived-1.3.5-16.el7.x86_64
[root@192 keepalived]# cd /etc/keepalived
[root@192 keepalived]# vi keepalived.conf
smtp_server 192.168.25.147(主)smtp_server 192.168.25.147(备)
state MASTER(主) state BACKUP(备)
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.25.147
smtp_connect_timeout 30
router_id LVS_DEVEL # 访问的主机地址
}
vrrp_script chk_nginx {
script "/usr/local/src/nginx_check.sh" # 检测文件的地址
interval 2 # 检测脚本执行的间隔
weight 2 # 权重
}
vrrp_instance VI_1 {
state BACKUP # 主机MASTER、备机BACKUP
interface ens33 # 网卡
virtual_router_id 51 # 同一组需一致
priority 90 # 访问优先级,主机值较大,备机较小
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.25.50 # 虚拟ip
}
}
[root@192 sbin]# systemctl start keepalived.service
![](https://filescdn.proginn.com/3092ec29c4d01fd110cf52080555bd2c/506d8b62f6fa1aea34f200c215ed37dd.webp)
![](https://filescdn.proginn.com/bdc11480b52a0afe9ef4a8b76cd4defe/a381c2b8b40531e3cbc1e864f2c37d8b.webp)
原理解析
![](https://filescdn.proginn.com/72ed4f9ac1b76978ab963525b19e915b/27299217a1d25c0554e9c18b5a7babe1.webp)
![](https://filescdn.proginn.com/11db5e2b3869387a0422a7aee1e5684f/ae2b8ed0c78506277a399142615c2bf0.webp)
![](https://filescdn.proginn.com/402d7d0345b2be0ff7bdb7aa999483f7/6e532f9a306aa226fad56beaf7164ff9.webp)
推荐阅读
Nginx系列教程(一)| 手把手教你在Linux环境下搭建Nginx服务
Nginx系列教程(二)| 一文带你读懂Nginx的正向与反向代理
Nginx系列教程(三)| 一文带你读懂Nginx的负载均衡
Nginx系列教程(四)| 一文带你读懂Nginx的动静分离
Nginx系列教程(五)| 利用 Nginx+Keepalived 实现高可用技术
Nginx系列教程(六)| 手把手教你搭建 LNMP 架构并部署天空网络电影系统
Nginx 在运维领域中的应用,看这一篇就够了
Nginx从入门到干活,看这一篇足矣
浅谈 Nginx 性能调优
这些 Nginx 常见异常,帮你快速定位故障!