神器 Nginx 的学习手册(建议收藏)
Posted 全栈开发者社区
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了神器 Nginx 的学习手册(建议收藏)相关的知识,希望对你有一定的参考价值。
nginx 是一个高性能的 HTTP 和反向代理服务器,特点是占用内存少,并发能力强,事实上 Nginx 的并发能力确实在同类型的网页服务器中表现较好。Nginx 专为性能优化而开发,性能是其最重要的要求,十分注重效率,有报告 Nginx 能支持高达 50000 个并发连接数。
01
Nginx 知识网结构图
![神器 Nginx 的学习手册(建议收藏)](https://image.cha138.com/20210331/0cadfd17b7c941829de929f5bcf32084.jpg)
02
反向代理
![神器 Nginx 的学习手册(建议收藏)](https://image.cha138.com/20210331/ebf662f76cda48a9b570b8fe704f515c.jpg)
![神器 Nginx 的学习手册(建议收藏)](https://image.cha138.com/20210331/f1c71cf5f9dd4d258fa961d388136224.jpg)
![神器 Nginx 的学习手册(建议收藏)](https://image.cha138.com/20210331/56de363f80be474da19701610061a361.jpg)
![神器 Nginx 的学习手册(建议收藏)](https://image.cha138.com/20210331/3046bfa204ee460288efaa1a29569683.jpg)
04
动静分离
![神器 Nginx 的学习手册(建议收藏)](https://image.cha138.com/20210331/18b6a34a83864f9eb1caa0ebcc2d8246.jpg)
![神器 Nginx 的学习手册(建议收藏)](https://image.cha138.com/20210331/f21fda37220448f58b34df2de20fd9b6.jpg)
Nginx 如何在 Linux 安装
https: //blog.csdn.net/yujing1314/article/details/97267369
Nginx 常用命令
./nginx -v
./nginx
./nginx -s stop
./nginx -s quit
./nginx -s reload
Nginx 的配置文件
①全局块
![神器 Nginx 的学习手册(建议收藏)](https://image.cha138.com/20210331/928871c5831646b2a2e7ab21901b77c2.jpg)
②events 块
![神器 Nginx 的学习手册(建议收藏)](https://image.cha138.com/20210331/a913b94912494a7bb6f285314d88f578.jpg)
③HTTP 块
location [ = | ~ | ~* | ^~] url{
}
=:用于不含正则表达式的 url 前,要求字符串与 url 严格匹配,匹配成功就停止向下搜索并处理请求。
~:用于表示 url 包含正则表达式,并且区分大小写。
~*:用于表示 url 包含正则表达式,并且不区分大小写。
^~:用于不含正则表达式的 url 前,要求 Nginx 服务器找到表示 url 和字符串匹配度最高的 location 后,立即使用此 location 处理请求,而不再匹配。
如果有 url 包含正则表达式,不需要有 ~ 开头标识。
07
反向代理实战
①配置反向代理
![神器 Nginx 的学习手册(建议收藏)](https://image.cha138.com/20210331/1d0bdf291ae3484d82a8b3025bc8e9f5.jpg)
![神器 Nginx 的学习手册(建议收藏)](https://image.cha138.com/20210331/e30a4c2c600841bfaf3b5815988b7ebe.jpg)
![神器 Nginx 的学习手册(建议收藏)](https://image.cha138.com/20210331/18569ef7f5d04c0da270c5655005884e.jpg)
![神器 Nginx 的学习手册(建议收藏)](https://image.cha138.com/20210331/8ce91ab8b6fb4176a47d0193597d0643.jpg)
![神器 Nginx 的学习手册(建议收藏)](https://image.cha138.com/20210331/2a16fcf7ce4f4b14aaf85eec7e50d1ba.jpg)
访问 http://192.168.25.132:9001/edu/ 直接跳转到 192.168.25.132:8080
访问 http://192.168.25.132:9001/vod/ 直接跳转到 192.168.25.132:8081
![神器 Nginx 的学习手册(建议收藏)](https://image.cha138.com/20210331/de94f64ae38d475ab2a5511a03091780.jpg)
![神器 Nginx 的学习手册(建议收藏)](https://image.cha138.com/20210331/5a85185ba03843f78596e054c89879cd.jpg)
![神器 Nginx 的学习手册(建议收藏)](https://image.cha138.com/20210331/4143b279042d491981dd2fecea5008d2.jpg)
![神器 Nginx 的学习手册(建议收藏)](https://image.cha138.com/20210331/1c4bace4d81e45bd8421ee0b1960a5cf.jpg)
![神器 Nginx 的学习手册(建议收藏)](https://image.cha138.com/20210331/78cb8fa7c950452396d79950fe16eae2.jpg)
![神器 Nginx 的学习手册(建议收藏)](https://image.cha138.com/20210331/76c6dd4ff40f4a968a51dbd0b7d3a3c5.jpg)
![神器 Nginx 的学习手册(建议收藏)](https://image.cha138.com/20210331/cfc85bb00ae74ffdbf4083af9349b8f5.jpg)
./nginx -s reload
![神器 Nginx 的学习手册(建议收藏)](https://image.cha138.com/20210331/a5f43561ec2a4c20bc70a398eb94ca98.jpg)
![神器 Nginx 的学习手册(建议收藏)](https://image.cha138.com/20210331/a5f43561ec2a4c20bc70a398eb94ca98.jpg)
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
![神器 Nginx 的学习手册(建议收藏)](https://image.cha138.com/20210331/f020bcc03fbf4b1b84a6664ebcaa3553.jpg)
![神器 Nginx 的学习手册(建议收藏)](https://image.cha138.com/20210331/3f579d3a185947369921103a004ed2a1.jpg)
./nginx -s reload
![神器 Nginx 的学习手册(建议收藏)](https://image.cha138.com/20210331/d0a4a9137c3146f39c9a9b9dca0fca99.jpg)
![神器 Nginx 的学习手册(建议收藏)](https://image.cha138.com/20210331/389d2da62937468aa7715c8ac23a67c2.jpg)
轮询(默认)。
weight,代表权,权越高优先级越高。
fair,按后端服务器的响应时间来分配请求,相应时间短的优先分配。
-
ip_hash,每个请求按照访问 ip 的 hash 结果分配,这样每一个访客固定的访问一个后端服务器,可以解决 Session 的问题。
09
动静分离实战
什么是动静分离?把动态请求和静态请求分开,不是讲动态页面和静态页面物理分离,可以理解为 Nginx 处理静态页面,Tomcat 处理动态页面。
纯粹将静态文件独立成单独域名放在独立的服务器上,也是目前主流方案。
将动态跟静态文件混合在一起发布,通过 Nginx 分开。
动静分离图析:
![神器 Nginx 的学习手册(建议收藏)](https://image.cha138.com/20210331/747901495b4b48ac81eaf8872e933d12.jpg)
![神器 Nginx 的学习手册(建议收藏)](https://image.cha138.com/20210331/245009323048483e88ee13af29cd34b6.jpg)
![神器 Nginx 的学习手册(建议收藏)](https://image.cha138.com/20210331/3db44822f63b4e6eb84f850670af8e01.jpg)
![神器 Nginx 的学习手册(建议收藏)](https://image.cha138.com/20210331/ba1135ce69fc4211b42b3158f6473e83.jpg)
Nginx 高可用
![神器 Nginx 的学习手册(建议收藏)](https://image.cha138.com/20210331/2848ff06b1b54edebb97675def759f8f.jpg)
![神器 Nginx 的学习手册(建议收藏)](https://image.cha138.com/20210331/6e7d8f760a2f49d0835bea96318c4854.jpg)
两台 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
![神器 Nginx 的学习手册(建议收藏)](https://image.cha138.com/20210331/c183602683f043e39449c7dd017e62d5.jpg)
![神器 Nginx 的学习手册(建议收藏)](https://image.cha138.com/20210331/58f001751f6d4682bab1bec0055c77c7.jpg)
原理解析
![神器 Nginx 的学习手册(建议收藏)](https://image.cha138.com/20210331/326d101846074885933a674519641048.jpg)
觉得本文对你有帮助?请分享给更多人
关注「全栈开发者社区」加星标,提升全栈技能
好文章,留言、点赞、在看和分享一条龙吧❤️
以上是关于神器 Nginx 的学习手册(建议收藏)的主要内容,如果未能解决你的问题,请参考以下文章