




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
神器Nginx的学习手册(建议收藏)
Nginx专为性能优化而开发,性能是其最重要的要求,
十分注重效率,有报告Nginx能支持高达50000个并发连
接数。
01
Nginx知识网结构图
Nginx的知识网结构图如下:
正向作
反向代理
负载均衡
动静分离
反向彳
负载均衡
动静分离
高可用
02
反向代理
正向代理:局域网中的电脑用户想要直接访问网络是不可行
的,只能通过代理服务器来访问,这种代理服务就被称为正
向代理。
GLAN正向代理
n
o
onServer
反向代理:客户端无法感知代理,因为客户端访问网络不需
要配置,只要把请求发送到反向代理服务器,由反向代理服
务器去选择目标服务器获取数据,然后再返回到客户端。
此时反向代理服务器和目标服务器对外就是一个服务器,暴
露的是代理服务器地址,隐藏了真实服务器IP地址。
查询
但是随着信息数量增长,访问量和数据量飞速增长,普通架
构无法满足现在的需求。
我们首先想到的是升级服务器配置,可以由于摩尔定律的日
益失效,单纯从硬件提升性能已经逐渐不可取了,怎么解决
这种需求呢?
我们可以增加服务器的数量,构建集群,将请求分发到各个
服务器上,将原来请求集中到单个服务器的情况改为请求分
发到多个服务器,也就是我们说的负载均衡。
图解负载均衡:
均衡反向代理服务器版务端
假设有15个请求发送到代理服务器,那么由代理服务器根
据服务器数量,平均分配,每个服务器处理5个请求,这个
过程就叫做负载均衡。
04
动静分离
为了加快网站的解析速度,可以把动态页面和静态页面交给
不同的服务器来解析,加快解析的速度,降低由单个服务器
的压力。
动静分离之前的状态:
动峥分离反向代J!展务2S
纪乃态资等构动态责
赛第黑到tsca,里面
动静分离之后:
06
Nginx安装
Nginx如何在Linux安装
参考链接:
/yujingl314/article/details/
97267369
Nginx常用命令
查看版本:
./nginx-v
启动:
,/nginx
关闭(有两种方式,推荐使用./nginx-squit):
./nginx-sstop
./nginx-squit
重新加载Nginx配置:
./nginx-sreload
Nginx的配置文件
配置文件分三部分组成:
①全局块
从配置文件开始到events块之间,主要是设置一些影响
Nginx服务器整体运行的配置指令。
并发处理服务的配置,值越大,可以支持的并发处理量越
多,但是会受到硬件、软件等设备的制约。
~1一
_2fusernobody;
[3workerprocessesH;|
4
©events块
影响Nginx服务器与用户的网络连接,常用的设置包括是
否开启对多workprocess下的网络连接进行序列化,是否
允许同时接收多个网络连接等等。
支持的最大连接数:
120events{_____________________
1workerconnections1024;
③HTTP块
诸如反向代理和负载均衡都在此配置。
locationurl{
location指令说明,该语法用来匹配urlz语法如上:
•=:用于不含正则表达式的url前,要求字符串与url严格
匹配,匹配成功就停止向下搜索并处理请求。
•~:用于表示url包含正则表达式,并且区分大小写。
•:用于表示url包含正则表达式,并且不区分大小写。
•八~:用于不含正则表达式的url前,要求Nginx服务器找
到表示url和字符串匹配度最高的location后,立即使用
此location处理请求,而不再匹配。
•如果有url包含正则表达式,不需要有~开头标识。
07
反向代理实战
①配置反向代理
目的:在浏览器地址栏输入地址www.123.com跳转
Linux系统Tomcat主页面。
②具体实现
先配置因为比较简单,此处不再赘叙,并在
Tomcatz
Windows访问:
€->C0®不安克I1就1“25.1328M
■M■0nM•M-T.MM■fmMOn-m.□MQ«■QmuR«W«•«・IA-MKMQMM口■01TOORS
FindH«<p
ApacheTomcat/8.5.57
R0comm«ncMdR・《ding
StCMdfyCom^traiiMiiHo*Ta
MarnotfAppDcttonHOTT-TO
Dt”l0X,QuickSUH
具体流程如下图:
tomcat
http://192.16825
132:8080
修改之前:
CQ①不安全32
:■:应用3【范仁杰”帅范…S茨flgHT-CSDNt•…卷SS-T.你8团8□ProcessOn-领…的项目■g—学习网范技术
Welcometonginx!
Ifyouseethispage,thenginxwebserverissuccessfullyinstalledand
working.Furtherconfigurationisrequired.
ForonlinedocumentationandsupportpleaserefertooglnjLorg.
Commercialsupportisavailableat.
Thankyouforusingnginx
配置如下:
server{
listen82__________
|servejnaae32;
#charsetkoi8-r;
#access_loglogs/host.access.logmain;
location/{
methtsl:____________________
proxypass:80801
indexindex.hrmlindex.him;
/yujing1314
再次访问:
6》C。①不安至www.123xom
那应用C3【封匚篇S玖吗IT.CSOM.FIS«-T.0proc«»on•m.m字?网筵技"AW电IA
HomeDocumentationConfigurationExamplesWikiMailingListsFindHelp
ApacheTomcat/8.5.57
RecommendedReading:SccvecStatus
SecurityConskterationsHowTo
IUn*gorApp
)Ho*・Tb
Ho$f
Cluttering/Se>Bk>flRtplicationHQW-TQ
DeveloperQuickStart
Setup
FirNWebApoftEion
③反向代理2
目标:
•访问http:〃132:9001/edu/直接转至(J
32:8080
•访问http:〃192.168.25.132:9001/vod/直接跳转到
32:8081
准备:配置两个Tomcatr端口分别为8080和8081,都
可以访问,端口修改配置文件即可。
G■C。①WMtI19216&2S.1UBC»1
FE«3C3KWMT.CWMTftB«-T.<WQfl0W1®8«除MSMUttiTOOffW
HomtDocumtnUtiocCatfgcttonEm**WikiMailingUttsFind*lp
ApacheTomcaU8.5.57/APACHE.:v
Wyotfreseeingthis.y<x/vesuccessfullyinstalledTomcatCongratulations!
$•«¥•«SUflH
4-4CO<D1虬1&2幺1乂一
枣S・0UWU■MW.CSMt,•B«-T.KM■lMaOn・・^
HomeDocum«flUt>OfiConAgs3Ei>mp4««WHMailingUtts-indHelp
ApacheTomcat/8.5.57
RecommendedReading
“curttyC8»d・fMkwHowD
ApoUcrtoflHow-1。
CIs“内田"”防RtamonHOMS
O«"lop*rOuKkStart
IflBSALlflM
新建文件内容分别添加8080!!!和8081!!!
▼▼|/root/apache-tomcat-8.5.57/webapps/edu
、名称大小类
QZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
6a.html18BytesCh
'/usr/lccal/apache-tomcat-8.5.57/webapps/edu
名称
6b.html
响应如下图:
♦CQ①不安全32:8080/edu/a.html
晚应B【苑仁杰厨为施…S玫瑰与窟:CSDN博…数百度一下,你就知道E3Process。”我的…
8080!!!!!!
<■今C。①不安全|32:8081/vod/b.html
正应用s【苑仁杰廊坊师范…3玫瑰与鹿[CSDN博…数百度一下,你就知道0Proce<
8081!!!!!!
具体配置如下:
35server{
36listen9001;
37server_name192.168.25.132;
38
39Ichersetkoi8-r;
40
41#access_loglogs/host.access.logmain;
42
43location/edu/{
44roothtml;
45proxy_passhum//127.0.0.1:2080;
46}
47location/vod/{
48roothtml;
49proxy_pass
50)
重新加载Nginx:
./nginx-sreload
访问:
<-->0O①不安全|192,168.25.l32:9001/edu/a.Zml
:::应用S【苑仁杰席方师范…s玫瑰与鹿:CSDN博…数百度一下,你就知道I
080!!!!!!
<-->CO①不安全|32:9001/edu/a.html
:::应用S【苑仁杰席方师范…S玫瑰与鹿:CSDN博…S百度一下,你就知道|
080!!!!!!
实现了同一个端口代理,通过edu和vod路径的切换显示
不同的页面。
反向代理小结
第一个例子:浏览器访问,由host文件解析出服
务器ip地圻
192.168.25.132。
然后默认访问80端口,而通过Nginx监听80端口代理到
本地的8080端口上,从而实现了访问,最
终转发到tomcat8080上去。
第二个例子:
•访问http:〃32:9001/edu/直接跳转至U
32:8080
•访问http:〃32:9001/vod/直接跳转至I」
32:8081
实际上就是通过Nginx监听9001端口,然后通过正则表
达式选择转发到8080还是8081的Tomcat上去。
08
负彝均衡实战
①修改nginx.conf,如下图:
34upstreammyserver{
server32:8080;
server32:8081;
37}
80server
81listen80;
82servername32;
83
84#charsetkoi8-r;
85
86学accessloglogs/host.access.logmain;
87
88location
89proxypassntv
90rootncnuL;
91indexindex,htrr.lindex.h.zr^;
92
②重启Nginx:
./nginx-sreload
③在8081的Tomcat的webapps文件夹下新建edu文
件夹和a.html文件,填写内容为8081!!!!
④在地址栏回车,就会分发到不同的Tomcat服务器上:
-CQ①不安全32/cdu/a.html
M应S【苑仁杰度石碗…W玫瑰与鹿[CSDN博…数百度一下,你就知道E3ProcessOn-领...
8080!!!!!!
CQ①不安全32/edu/a.html
:::应SE3【苑仁杰廊湖庭…3玫瑰后度\CSDN博…数百度一下.你就知道S3ProcessOn-我的…匚项目
8081!!!!!!
负载均衡方式如下:
•轮询(默认)。
•weight,代表权,权越高优先级越高。
•fair,按后端服务器的响应时间来分配请求,相应时间短的
优先分配。
•ip.hash,每个请求按照访问ip的hash结果分配,这样每
一个访客固定的访问一个后端服务器,可以解决Session的
问题。
upstreammyserver{
server32:8080weight=l;
server32:8081weight=2;
37)
34upsrreanmyserver{
server32:8080;
server32:8081;
37Ifair;~I
38'
on
upstreammyserver{
ip_hash|
server32:8080;
server32:8081;
38}
39
09
动静分离实战
什么是动静分离?把动态请求和静态请求分开,不是讲动态
页面和静态页面物理分离,可以理解为Nginx处理静态页
面处理动态页面。
zTomcat
动静分离大致分为两种:
•纯粹将静态文件独立成单独域名放在独立的服务器上,也
是目前主流方案。
•将动态跟静态文件混合在一起发布,通过Nginx分开。
动静分离图析:
nginx
实战准备,准备静态文件:
▼>▼/dataV
名称‘大小修改时间
WWW文件央2020/7/12,15:41
image文件夹2020/7/12,15:41
<-JCQ①不安全192,168.25.132/image/
:::应用S【苑仁杰康坊师范...S玫瑰与■/SDN博…&百度一下,你就知道QProcessOn
Indexof/image/
L-jpg12-Jul-202007:41109789
配置Nginx,如下图:
33
34server{
35listen80;
36server_name192.168.25.132;
37
38♦charsetkoi8-r;
39
40laccess_loglogs/host.access.logmain;
41
42location/www/{
43root/data/;
44indexindex.htmlindex.htm;
45M
46location/image/{
47root
弋&8/;100t后面的路径就是从/根目录开始的
48autoindexon;
49}
50
Nginx高可用
如果Nginx出现问题:
toneat1
解决办法:
高可用keepalived
前期准备:
•两台Nginx服务器
•安装Keepalived
•虚拟ip
安装Keepalived:
[root@192usr]#yuminstallkeepalived-y
[root@192usr]#rpm-q-akeepalived
keepalived-1.3.5-16.el7.x86_64
修改配置文件:
[root@192keepalived]#cd/etc/keepalived
[root@192keepalived]#vikeepalived.conf
分别将如下配置文件复制粘贴,覆盖掉keepalived.conf,
虚拟ip为0。
对应主机ip需要修改的是:
•smtp_server47(主)smtp_server
47(备)
•stateMASTER(±)stateBACKUP(§)
global_defs{
notification_email{
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_fromAlexandre.Cassen@firewall.loc
smtp_server47
smtp_connect_timeout30
router_idLVS_DEVEL#访问的主机地址
)
vrrp_scriptchk_nginx{
script"/usr/local/src/nginx_check.sh"#检测文件的地
址
interval2#检测脚本执行的间隔
weight2#权重
)
vrrp_instanceVI_1{
stateBACKUP#主机MASTER、备机BACKUP
interfaceens33#网卡
virtual_router_id51#同一组需一致
priority90#访问优先级,主机值较大,备机较小
advert_int1
authentication{
auth_typePASS
auth_pass1111
)
virtual_ipaddress{
0#虚拟ip
)
)
启动代码如下:
[root@192sbin]#systemctlstartkeepalived.servi
ce
[root0192sbin]#ps-efgrepnginx
root14532107:47?00:00:00nginx:masterprocess./nginx
nobody145331453207:47?00:00:00nginx:workerprocess
root2776215124
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国外部磁盘存储系统项目创业计划书
- 中国假肢项目创业计划书
- 中国蓝牙终端设备项目创业计划书
- 中国AMR解决方案项目创业计划书
- 中国人造草坪项目创业计划书
- 2025年1月宁夏高考适应性测试物理试题及答案
- 中国金属制液体储藏罐项目创业计划书
- 中国计算机辅助设计(CAD)软件项目创业计划书
- 中国光盘项目创业计划书
- 2025年度商业光伏电站建设合同
- 广东省广州市天河区2024年八年级下册数学期末考试试题含解析
- 土木工程专业毕业答辩常问问题
- 供水管网抢修管理课件
- 多学科疼痛护理
- 24春国家开放大学《统计学原理》形成性考核1-3参考答案
- 红色大气商务企业启动会企业启动仪式
- 徐州市中考英语英语-语法填空试题(含答案)
- 企业专职消防队建设标准
- 铁道概论(第八版)佟立本主编
- 腹腔镜手术麻醉教学查房
- 超星尔雅《中国古建筑欣赏与设计》期末考试答案三套
评论
0/150
提交评论