神器 Nginx 的学习手册_第1页
神器 Nginx 的学习手册_第2页
神器 Nginx 的学习手册_第3页
神器 Nginx 的学习手册_第4页
神器 Nginx 的学习手册_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

神器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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论