没有合适的资源?快使用搜索试试~ 我知道了~
首页Nginx入门实战:IO多路复用与轻量级优势
Nginx入门实战:IO多路复用与轻量级优势
需积分: 9 10 下载量 149 浏览量
更新于2024-07-14
收藏 3.11MB PDF 举报
Nginx从入门到实战是一份关于学习和应用Nginx的实用指南,该文档针对那些希望深入了解这个高效HTTP中间件和代理服务的读者。Nginx以其高性能和可靠性闻名,特别是在高并发场景下表现出色,这主要得益于其独特的IO多路复用技术,如epoll(事件驱动编程模型)。 在文章中,通过一个生动的比喻来解释epoll的工作原理:三个老师A、B、C分别代表不同的服务模式。老师A采用顺序处理方式,效率低下;老师B试图同时处理多个请求,但最终因为资源消耗过大而失败;老师C则是智能的选择,只在有学生完成作业后才介入,这样实现了并发处理,这就是Nginx的核心理念——高效地利用系统资源,支持大量并发请求。 Nginx之所以受欢迎,还因为它是一个轻量级的软件,专注于提供HTTP服务所需的功能,避免了不必要的复杂性和资源消耗。这使得它成为许多Web服务器的首选,尤其是在负载均衡和静态文件服务方面,Nginx因其快速响应时间和低资源占用的优势而被广泛采用。 文章的第二部分介绍了安装Nginx的环境准备,包括确保系统的网络、yum工具可用、防火墙暂时关闭以及SELinux的管理。此外,还列出了必要的系统基本工具,如GCC编译器、wget下载工具等,这些对于Nginx的配置和部署至关重要。 这份文档旨在帮助读者掌握Nginx的基础概念、安装与配置,以及其在实际工作中的应用场景,特别强调了其在高并发环境中的优势,从而让读者能够在实际项目中熟练运用Nginx提高网站性能和用户体验。
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/15902135/bge.jpg)
下图为进⼊nginx⽂件夹下的⽂件内容
当进到这个⽬录下,我们就可以操作nginx了,接下来就列举⼀些⾮常⾮常有⽤的命令,多敲⼏遍,⼀定要记住
nginx常⽤命令nginx常⽤命令
启动nginx
nginx
当你敲完nginx这5个键的时候,并没有任何反应,此时你只需访问localhost:8080(默认)即可
关闭nginx
如果出现下图情况,不要惊慌,是因为之前nginx被启动过了
只需nginx -s stopnginx -s stop,停⽌nginx服务
然后再次启动nginx即可
重启nginx
nginx -s reload
每次修改完.conf⽂件就需要重启nginx
检查配置
检查修改的nginx.conf配置是否正确
nginx -tnginx -t
如果出现下⾯ok和successfull就代表正确了,其他的都不对
![](https://csdnimg.cn/release/download_crawler_static/15902135/bgf.jpg)
nginx:the configuration file/usr/local/etc/nginx/nginx.conf syntaxisok
nginx:configuration file/usr/local/etc/nginx/nginx.conf testissuccessful
对于我们前端来说正常⼯作当中,倒是不需要过多的修改nginx的。我们之所以修改nginx配置,是为了做⼀些反向代理罢
了
proxy_passproxy_pass
nginx反向代理主要通过proxy_pass来配置,将你项⽬的开发机地址填写到proxy_pass后⾯,正常的格式为
proxy_pass URL即可
serverserver {
listen 80;
location / {
proxy_pass http://10.10.10.10:20186;
}
}
Upstream模块实现负载均衡Upstream模块实现负载均衡
ip_hash指令
server指令
upstream指令及相关变量
上⾯写的三个指令,我们直接通过代码来⼀⼀分析
// 修改nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
upstream firstdemo {
server 39.106.145.33;
server 47.93.6.93;
}
server {
listen 8080;
location / {
proxy_pass http:
//firstdemo;
}
}
}
上⾯修改的nginx.conf就是上图中花圈的那个⽂件,nginx配置的主要修改就在这⾥。化繁为简,把原本nginx.conf⾥的
内容直接替换为上⾯的不到20⾏的代码了
既然不到20⾏,那就把⾥⾯对应的内容统统解释⼀下吧,有个了解就好
worker_processes
worker_connections
upstream模块
负载均衡就靠它
语法格式:upstream name {}
⾥⾯写的两个server分别对应着不同的服务器
![](https://csdnimg.cn/release/download_crawler_static/15902135/bg10.jpg)
server模块
实现反向代理
listen监督端⼝号
location / {}访问根路径
proxy_pass http://firstdemo,代理到firstdemo⾥两个服务器上
上⾯修改了nginx.conf之后,别忘了最重要的⼀步重启nginx
那么再次访问localhost:8080,会看到如下图⻚⾯
还有另⼀个⻚⾯
每次刷新都会访问不同的服务器,这样就做到了负载均衡负载均衡处理
不过,更应该做到的是当⽤⼾第⼀次访问到其中⼀台服务器后,下次再访问的时候就直接访问该台服务器就好了,不⽤总变
化了。那么就发挥了ip_hash的威⼒了
// 省略...
upstream firstdemo {
ip_hash;
server 39.106.145.33;
server 47.93.6.93;
}
ip_hash它的作⽤是如果第⼀次访问该服务器后就记录,之后再访问都是该服务器了,这样⽐如第⼀次访问是33服务器,那
![](https://csdnimg.cn/release/download_crawler_static/15902135/bg11.jpg)
之后再访问也会分配为33服务器访问了
⼯作中的简单使⽤⼯作中的简单使⽤
在公司开发项⽬的时候,遇到设计,产品⾛查环节的时候,不能每次都让他们去配⼀个host,毕竟这样不友好,⾛查起来有
⿇烦。所以更应该给他们直观的感受,既给⼀个访问地址就可以看到样⼦
下⾯给⼤家看⼀下,我正常在公司时nginx做的反向代理配置,和咱们上⾯的如出⼀辙,只是加了⼀个server_name,⽤指
定的域名去访问即可
serverserver {
listen 80;
server_name chd.news.so.m.qss.test.so.com ;
auth_basic off;
location / {
proxy_pass http://10.10.10.10:20186;
proxy_set_header Host $host;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 60;
proxy_read_timeout 600;
proxy_send_timeout 600;
}
}
每次修改完nginx配置后不要忘记重启nginx才能⽣效,这样只需要访问chd.news.so.m.qss.test.so.com这个地址就可
以查看我的开发环境,进⾏⾛查了。
这就是nginx最⼤的功能,反向代理我也接触的不是很多,毕竟不是专业运维出⾝,可⽐性差了很多。略知⼀⼆,也只是⽅便
⼤家⼯作中使⽤吧,再次感谢⼤家的收看了,哈哈
作者:chenhongdong
https://juejin.im/post/5b01336af265da0b8a67e5c9
【END】
如果看到这⾥,说明你喜欢这篇⽂章,请转发转发、点赞、点赞。微信搜索「web_resource」,关注后回复「进群」或者扫描下⽅⼆维码
即可进⼊⽆⼴告交流群。
↓↓扫描⼆维码进群↓扫描⼆维码进群↓
剩余81页未读,继续阅读
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/29aa6ff6ce514d0687ab7611f8eee6bc_mzl_sx.jpg!1)
小坏蛋至尊宝
- 粉丝: 1783
- 资源: 314
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 贵州煤矿矿井水分类与处理策略:悬浮物、酸性与非酸性
- 醛固酮增多症肾上腺静脉采样对比:ACTH后LR-CAV的最优评估
- 开源云连接传感器监控平台:农业土壤湿度远程监测
- 母婴用品企业年度生产计划线性规划优化模型:实证与应用
- 井下智能变电站:Rogowski线圈电流检测系统的研发与性能验证
- 霍州矿区煤巷稳定性分析及支护策略
- ARM嵌入式系统远程软件更新方案:基于TFTP协议
- 煤炭选煤中汞分布规律与洗选脱汞效果
- 提升码垛机器人性能:拉格朗日动力学模型与滑模模糊控制的应用
- 增强现实技术提升学前手写教学:设计与开发案例
- 不规则工作面沉陷三角剖分算法提升与应用
- 卡尔曼滤波在瞬变电磁干扰压制中的应用研究
- 煤矿安全能力研究:理论与系统构建
- LonWorks总线技术在斜巷运输车辆定位与跑车防护中的应用
- 神东煤炭集团高效煤粉锅炉系统:节能环保新实践
- Ti/SnO2+Sb2Ox/PbO2电极分形维数与电催化性能研究
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)