百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Nginx安装配置学习

off999 2025-01-10 16:08 18 浏览 0 评论

#文章首发挑战赛#

1、Nginx介绍

Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,经常使用的大型网站有:百度、京东、新浪、网易、腾讯、淘宝等.

Nginx是由伊戈尔.赛索耶夫为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版0.1.0发布于2004年10月4日.

官网:https://nginx.org/

1、 Nginx下载和安装

可以到Nginx官方网站下载Nginx的安装包,地址为:https://nginx.org/en/download.html

安装过程:

1、安装依赖包 yum -y install gcc pcre-devel zlib-devel openssl openssl-devel

2、下载Nginx安装包

wget https://nginx.org/download/nginx-1.22.1.tar.gz

3、解压 tar -zxvf nginx-1.22.1.tar.gz

4、cd nginx-1.22.1

5、./configure --prefix=/usr/local/nginx

6、make&& make install

Nginx命令

启动和停止

① 进入目录:

cd /usr/local/nginx/sbin

② 启动Nginx服务使用命令如下:

./nginx

③ 停止nginx命令

./nginx -s stop

④ 启动完查看nginx进程:

ps -ef|grep nginx

访问http://ip是否成功:

Linux中NGINX启动但是无法访问

1、手动配置防火墙端口号

对外开放端口

# 查看想开的端口是否已开

firewall-cmd --query-port=80/tcp

# 添加指定需要开放的端口

firewall-cmd --add-port=80/tcp --permanent

# 重载入添加的端口

firewall-cmd --reload

# 查询指定端口是否开启成功

firewall-cmd --query-port=80/tcp

再访问:

http://192.168.56.57/

2、 Nginx目录结构

安装完nginx 后,我们先熟悉一下nginx的目录结构,如下图

检查配置文件正确性

在启动Nginx服务之前,可以先检查一下conf/nginx.conf文件配置的是否有错误,命令如下:

./nginx -t

重新加载配置文件

当修改Nginx配置文件后,需要重新加载才能生效,可以使用下面命令重新加载配置文件:

./nginx -s reload

Nginx配置文件结构

l 全局块

l Events块

l Http块

整体结构介绍:


注意:http块中可以配置多个Server块,每个Server块中可以配置多个location块

3、 Nginx具体应用

l 部署静态资源

l 反向代理

负载均衡

举例:

后端发版

cd /opt/back

nohup java -jar mybatisPlus2208Demo-0.0.1-SNAPSHOT.jar --spring.profiles.active=test1 > test1.log

nohup java -jar mybatisPlus2208Demo-0.0.1-SNAPSHOT.jar --spring.profiles.active=test2 > test2.log

配置负载均衡:

Upstream 2208{ #upstream指令可以定义一组服务器

Server 192.168.56.57:8081;

Server 192.168.56.57:8082;

}

Server{

Listen 8081;

Servername localhost;

Location /api{

Proxy_pass http://2208;

}

}

前端发版

前端配置:

把dist.zip传到/opt/front下

cd /opt/front

Unzip dist.zip

Server{

Listen 80; #监听端口

Server_name localhost ;#服务器名称

Location /{ #匹配客户端请求url

root /opt/front/dist ;指定静态资源根目录

Index index.html;#指定默认首页

}


}

命令介绍




【nginx】nginx之location规则详解:

一、语法规则

= 开头表示精确匹配

^~ 开头表示uri以某个常规字符串开头,理解为匹配url路径即可(非正则)

~ 开头表示区分大小写的正则匹配

~* 开头表示不区分大小写的正则匹配

!~和!~*分别为区分大小写不匹配及不区分大小写不匹配的正则

/ 通用匹配,任何请求都会匹配到

二、优先级:

等号类型(=)的优先级最高。一旦匹配成功,则不再查找其他location的匹配项

^~和通用匹配。使用前缀匹配,不支持正则表达式,如果有多个location匹配成功的话,不会终止匹配过程,会匹配表达式最长的那个(下方有例子)

如果上一步得到的最长的location为^~类型,则表示阻断正则表达式,不再匹配正则表达式

如果上一步得到的最长的location不是^~类型,继续匹配正则表达式,只要有一个正则成功,则使用这个正则的location,立即返回结果,并结束解析过程


一、upstream模块简介

Nginx的负载均衡功能依赖于ngx_http_upsteam_module模块所支持的代理方式包括proxy_pass, fastcgi_pass, uwsgi_pass, scgi_pass, memcached_pass和grpc_pass。ngx_http_upstream_module模块有允许Nginx定义一组或多组服务组使用的可以通过proxy_pass代理方式把网站的请求发送到事先定义好的对应upstream组的名字上。upstream模块可以实现负载均衡其实隐含了一个重要功能那就是冗余在一个web节点故障的时候配置了upstream时可以自动切换到正常工作的节点。

二、负载均衡算法简介

调度算法一般分为两类第一类为静态调度算法即负载均衡器根据自身设定的规则进行分配不需要考虑后端节点服务器的情。第二类为动态调度算法即负载均衡器会根据后端节点的当前状态来决定是否分发请求。

1、轮询

rr 轮循即round robin 默认调度算法静态调度算法。客户端请求顺序把客户端的请求逐一分配到不同的后端节点服务器这相当于 LVS 中的 rr 算法如果后端节点服务器宕机默认情况下nginx 只检测80端口。宕机的服务器会自动从节点服务器池中剔除以便客户端的用户访问不受影响。新的请求会分配给正产的服务器。

2、权重轮询

wrr即weight 权重轮循静态调度算法。在 rr 轮循算法的基础上加上权重即为权重轮循算法当使用该算法时权重和用户访问成正比权重值越大被转发的请求也就越多。可以根据服务器的配置和性能指定权重值大小有效解决新旧服务器性能不均带来的请求分配问题。

3、IP哈希

ip_hash是静态调度算法每个请求按客户端 IP 的 hash 结果分配当新的请求到达时先将其客户端IP通过哈希算法哈希出一个值在随后的客户端请求中客户 IP 的哈希值只要相同就会被分配至同一台服务器该调度算法可以解决动态网页的 session 共享问题但有时会导致请求分配不均即无法保证 1:1 的负载均衡因为在国内大多数公司都是 NAT 上网模式多个客户端会对应一个外部 IP所以这些客户端都会被分配到同一节点服务器从而导致请求分配不均。LVS 负载均衡的 -P 参数、keepalived 配置里的 persistence_timeout 50 参数都类似这个 Nginx 里的 ip_hash 参数其功能均为解决动态网页的 session 共享问题。

4、最小连接数

least_conn是动态调度算法会根据后端节点的连接数来决定分配情况哪个机器连接数少就分发。

5、最短响应时间

最短响应时间fair调度算法是动态调度算法会根据后端节点服务器的响应时间来分配请求响应时间端的优先分配。这是更加智能的调度算法。此种算法可以依据页面大小和加载时间长短只能地进行负载均衡也就是根据后端服务器的响应时间来分配请求响应时间短的优先分配。Nginx 本身是不支持 fair 调度算法的如果需要使用这种调度算法必须下载 Nginx 的相关模块 upstream_fair。

6、url_hash算法

url_hash算法是动态调度算法按访问 URL 的 hash 结果来分配请求使每个 URL 定向到同一个后端服务器可以进一步提高后端缓存服务器的效率命中率。多用于后端服务器为缓存时的场景下Nginx 本身是不支持 rul_hash的如果需要使用这种调度算法必须安装 Nginx 的hash 模块软件包。

三、配置示例

1、配置示例模板

upstream backend {

server backend1.example.com weight=5; #执行realserver可以赋权重

server backend2.example.com:8080;

server unix:/tmp/backend3;

server backup1.example.com:8080 backup; #backup表示该节点为热备节点激活节点失效时启用

server backup2.example.com:8080 down; #下线服务器可以在real服务器需要维护时配置

}


server {

listen 80; #listen、server_name这些正常配置

server_name www.test.com;

location / {

proxy_pass http://backend; ##反向代理执行定义的upstream名字

}

}

2、权重轮询配置示例

upstream show {

server 192.168.0.141 weight=1;

server 192.168.0.142 weight=2;

}

3、ip_hash配置示例

upstream show {

ip_hash;

server 192.168.0.141 ;

server 192.168.0.142 ;

}

4、fair配置示例

upstream show {

fair;

server 192.168.0.141 ;

server 192.168.0.142 ;

}

5、least_conn配置示例

upstream show {

least_conn;

server 192.168.0.141 ;

server 192.168.0.142 ;

}

6、url_hash配置示例

upstream show {

server 192.168.0.141 ;

server 192.168.0.142 ;

hash $request_uri;

hash_method crc32;

}

相关推荐

win7重装系统方法(win7系统重装详细步骤)

步骤1、打开云骑士装机大师,点击一键装机下的【立即重装】,检测完毕后点击【下一步】;步骤2、选择windows7下的旗舰版32位,点击【下一步】,自行选择或取消推荐的软件,点击【下一步】;步骤3、备份...

电脑桌面啥都没有了怎么回事

1、如果我们桌面上什么东西都没有,可以先打开任务管理器,然后顶级左上方的文件,随后新建任务,在打开的界面中输入explorer,点击确认之后,等个几秒钟左右就可以看见桌面上的图标了。  2、另一个方法...

如何将电脑恢复出厂设置win7

1.首先我们打开电脑找到“计算机”点击打开。2.进入页面然后我们点击“Windows7(C:)”打开C盘。3.我们在C盘界面找到Windows7并点击打开。4.进入到Win7文件夹中找到并双击“Sys...

u盘存在但是读不出来(u盘显示有内容但读不出来怎么办)

u盘能识别,不能读取可能是你关闭了u盘自动读取,取消后即可。步骤:1、在电脑桌面右键点击“计算机”,在出现的菜单中选择“管理”选项2、在弹出的计算机管理窗口,依次打开“计算机管理-服务和应用程序-服务...

win8家庭中文版下载(windows家庭中文版下载)

可以按照以下步骤在Win8上下载和安装Word:1.通过微软官网下载购买,或者通过MicrosoftStore应用商店进行购买和下载。2.下载完成后,打开文件夹,双击setup进行安装。3.安...

教大家强制退出苹果id账号(教大家强制退出苹果id账号ipad)

1.首先将手机强制关机,并在电脑端安装iTunes并打开。2.用数据线将手机与电脑连接起来,长按手机电源键。3.当出现苹果标志时不要松开电源键,接着按Home键。4.直到屏幕黑屏,松开电源键。5.继续...

惠普官网驱动下载官网(惠普驱动官方)

在惠普官网下载系统驱动方法如下访问HP官网:www.hp.com找到支持与驱动页面(通常在顶部导航栏的支持或下载中)输入你的HP产品的序列号或选择产品类型和型号选择你的操作系统,然后下载相关的驱动。安...

电脑公司取名字大全(电脑行业公司取名)

动感网络IT狂人行鱼雷IT网PC宝宝网外有鱼超导技术网PC技术网加点分吧,不然想不出太多,呵呵绿苑计算机协会绿色代表生命,有起航的意义,苑是一个范畴,有地域的意思,是给你们一片天地的意思...

系统一键重装win7(win7一键重装系统win10)
  • 系统一键重装win7(win7一键重装系统win10)
  • 系统一键重装win7(win7一键重装系统win10)
  • 系统一键重装win7(win7一键重装系统win10)
  • 系统一键重装win7(win7一键重装系统win10)
如何卸载显卡驱动(主板驱动)
  • 如何卸载显卡驱动(主板驱动)
  • 如何卸载显卡驱动(主板驱动)
  • 如何卸载显卡驱动(主板驱动)
  • 如何卸载显卡驱动(主板驱动)
wifi怎么设置网速快(手机测wifi网速怎么测)

wifi加速设置方法步骤如下。1设置网速:浏览器中输入终端地址,输入账号和密码。找到连接设备数目并进行更改,找到信道宽度,选择更快的网速。2提高WiFi网速:进入设置中心,点击WLAN选项。点击高级设...

华硕驱动软件叫什么(华硕自带驱动管理软件)

q-installer驱动啥意思?华硕q-installer驱动能让用户更加方便地管理各种文件。将会同时显示4个Windows资源管理器的窗口,这样能让用户更加简单地对文件进行一些操作,例如复制,粘贴...

懂行的人建议买华为还是惠普电脑

华为电脑好。华为笔记本电脑主打的就是轻薄,质感,多屏协同生态,面向商务人群和学生党。目前在售的机型并不多,但每一台机子本身都不错,不过因为被制裁的缘故,定价过高,性价比打折扣。惠普笔记本好,惠普除了家...

如何把win系统换成安卓(怎么把系统改为win10)

方法/步骤分步:1首先点击打开酷安应用市场;2点击打开位于屏幕右下方的“应用游戏”选项;3选择想要下载的软件或者游戏app,点击进入;4选择“下载”按钮,点击开始下载;5APP下载完成后,系统会自动跳...

win7摄像头软件哪个好(win7摄像头软件ecap)
  • win7摄像头软件哪个好(win7摄像头软件ecap)
  • win7摄像头软件哪个好(win7摄像头软件ecap)
  • win7摄像头软件哪个好(win7摄像头软件ecap)
  • win7摄像头软件哪个好(win7摄像头软件ecap)

取消回复欢迎 发表评论: