神器 Nginx 的学习手册 ( 建议收藏 )
共 5353字,需浏览 11分钟
· 2021-03-11
来源:blog.csdn.net/yujing1314/article/details/107000737
前段时间有粉丝请教关于Nginx的问题,今天给大家推荐一篇关于Nginx的介绍,Nginx学习起来挺简单的,主要还是多练习!
![](https://filescdn.proginn.com/a204f26721448c15e2b81d6498943b90/f9a97a08222ef362a4d3dbf66139e57f.webp)
02
反向代理
![](https://filescdn.proginn.com/ccd0f400e1a30bbeb111d6ee43beed20/7561027b09b61e460d7a1edf436dd0f3.webp)
![](https://filescdn.proginn.com/c497e535e059621053822ce63ee40a1c/695636168ec1b1c19e31ee87788ea06c.webp)
![](https://filescdn.proginn.com/4290f88a80d5f1946ec22ed768016ca7/2304c2ec2070d9217241751b84af8049.webp)
![](https://filescdn.proginn.com/09d8b20b09c9375376792a8675af12cd/eb2e1c899605a2c71071a3dee1147585.webp)
04
动静分离
![](https://filescdn.proginn.com/b30a4684c8a0476261c5c8ca03e801e1/81dd66384286972ab82a8ca49951ace4.webp)
![](https://filescdn.proginn.com/ec4b70555ecf2710e24e599e583e6c92/b781c161ffe4075e0ffafe9821e583aa.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/52d70052bad4cebdeab198d21cac524b/6995f3e358adfd78c3b9da1e7f7d4396.webp)
②events 块
![](https://filescdn.proginn.com/f955c87e999a81af56bf809d8c26ac71/4ad356209bf018d7dc5fa9066fd35d44.webp)
③HTTP 块
location[ = | ~ | ~* | ^~] url{
}
=:用于不含正则表达式的 url 前,要求字符串与 url 严格匹配,匹配成功就停止向下搜索并处理请求。
~:用于表示 url 包含正则表达式,并且区分大小写。
~*:用于表示 url 包含正则表达式,并且不区分大小写。
^~:用于不含正则表达式的 url 前,要求 Nginx 服务器找到表示 url 和字符串匹配度最高的 location 后,立即使用此 location 处理请求,而不再匹配。
如果有 url 包含正则表达式,不需要有 ~ 开头标识。
07
反向代理实战
①配置反向代理
![](https://filescdn.proginn.com/b708be9c1a428903c9c98bb4920c027c/d3b6ac8ed3e1e009fddf06992aa12fdc.webp)
![](https://filescdn.proginn.com/87504a8cade12bd06c4ae2931cf556a0/0bb33334cd21a6fdd65222aa4197c6b7.webp)
![](https://filescdn.proginn.com/76f194d1c2094416523b738fb99cfb15/72600b8c3a5f820bbcae84fe5b607842.webp)
![](https://filescdn.proginn.com/ed88689d569bd2373a9eded2275a5089/60756afd648c671e368826ed53542c0a.webp)
![](https://filescdn.proginn.com/f0412171f51c4ca98d6ff4d84bcb4d56/d62e2026aa501091e89ecc79f1205ebd.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/3a4f3a56d87340d4acacd9a3d5fe463a/1ad7a81afe0e3c4dc9c455ef57ca231c.webp)
![](https://filescdn.proginn.com/0aa3bec809fa50fa6459c4be99c114ca/d3c66d3c310bede655544090cfeb8f55.webp)
![](https://filescdn.proginn.com/d7a62783f70fe7b82393c98137ce70f9/ea1376016cb30c857e4a5af6a1478b04.webp)
![](https://filescdn.proginn.com/f4a57bdb5bab905db07a8519bf73840d/c62341878bf0b3b2927843bf0345a42a.webp)
![](https://filescdn.proginn.com/2c8650dcb7dd2d52c130087d6608c310/1ef0ec747b3e86c654a79296eb16994a.webp)
![](https://filescdn.proginn.com/0da327be70c27eb33a48aae20dee4a12/2c496337447dc5d1b5862573d9064ab9.webp)
![](https://filescdn.proginn.com/6e6f05790b7fd406ee4f665e565e79d8/2598f0bcaf1c6bdcb50c5926b0c162b2.webp)
./nginx -s reload
![](https://filescdn.proginn.com/74d95ec8c426f6e26618b8361fadf2cb/ab91f23ad38c2d47fb41166240bc6042.webp)
![](https://filescdn.proginn.com/74d95ec8c426f6e26618b8361fadf2cb/ab91f23ad38c2d47fb41166240bc6042.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/4c9fe748f4d06db50ecb287adb437838/55296f56e41c045a6d038d19a481e214.webp)
![](https://filescdn.proginn.com/879130aaaa10eaf414fdd55babaf102a/2bbce236bfe3a911e5bdad9a3672d228.webp)
./nginx -s reload
![](https://filescdn.proginn.com/adafd98a8e8ef6abe47b545784dec410/5cd5e7b2d6c488f328594112b8eac162.webp)
![](https://filescdn.proginn.com/d90cc098257e56d09ea4a0f0402a10e3/6bdb49004f6856ea6700356f5d56b20e.webp)
轮询(默认)。
weight,代表权,权越高优先级越高。
fair,按后端服务器的响应时间来分配请求,相应时间短的优先分配。
ip_hash,每个请求按照访问 ip 的 hash 结果分配,这样每一个访客固定的访问一个后端服务器,可以解决 Session 的问题。
09
动静分离实战
什么是动静分离?把动态请求和静态请求分开,不是讲动态页面和静态页面物理分离,可以理解为 Nginx 处理静态页面,Tomcat 处理动态页面。
纯粹将静态文件独立成单独域名放在独立的服务器上,也是目前主流方案。
将动态跟静态文件混合在一起发布,通过 Nginx 分开。
动静分离图析:
![](https://filescdn.proginn.com/035674f60b761fecf4bbee7831834ec0/80be01a48847d374f9bb09eec36db0ad.webp)
![](https://filescdn.proginn.com/abc78002282400b380a5c72a06dcd9f7/a27528427491b059c03ff0881b07ddea.webp)
![](https://filescdn.proginn.com/1de2450a277f29d87fe6745cd752188e/c2beb7a525b06a31e08adc21e5834384.webp)
![](https://filescdn.proginn.com/8909a357835f5803d5e0d4697d9a120f/6aa55f5dc34883b486f4c408a57c72db.webp)
Nginx 高可用
![](https://filescdn.proginn.com/a070c6e2fca8aaa23217ec536d064296/486bdd1f89a3fb2e456632459d69bb54.webp)
![](https://filescdn.proginn.com/525cda29e33ed010777947410ff81605/6b3cd78b0d2794f8fad0011de41b3a62.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/1c4347a12fa9be4503cdbb5019dd12b4/2e8f300fc3a9df945c4f828e8646567f.webp)
![](https://filescdn.proginn.com/146664550cd8b25c1b5f365dba9173e2/f1cb83d404ed09ee0095efdbeb4c30de.webp)
原理解析
![](https://filescdn.proginn.com/17f2e47b5a9359192c1f1e7060ddd7c4/ea4b45b2aac9bf136298abd4dbb6168b.webp)
![](https://filescdn.proginn.com/dcbea71d4422d809b78cb18f4d66a69b/8d06c1df15b6e4fd5020a857d5412423.webp)
![](https://filescdn.proginn.com/4d4ff74aa3eb51538d8fbb88eff2c8f5/c180b89b209892200efcf4ee7497fdf3.webp)
更多优质文章点击下面阅读
👇👇👇