您当前的位置:首页 >> 人工智能
人工智能

不容错过的Nginx配备详解,一文带你搞懂Nginx

发布时间:2025-10-30

erver块可以配遗多个location块。

这块的;大要极其重要作用是基于Nginx服务器末端接收到的劝告字符串(例如server_name/uri-string),对实体PC称呼(也可以是IP别名)外的字符串(例如前面的/uri-string)完毕匹配,对特定的劝告完毕解决问题。住址定向、天内据磁盘和应答控制等功用,还有许多第三方模块的配遗也在这内都完毕。

4 配遗下述4.1 反之亦然授命4.1.1 下述一4.1.1.1 前提

采访,采访到的是Tomcat的;大首页。

4.1.1.2 环境

Nginx+JDK8+Tomcat

4.1.1.3 配遗档案worker_processes 1;events { worker_connections 1024;}http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; #server_name localhost; server_name 192.168.71.167; location / { root html; #掺入一个大的原话 proxy_pass ; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }}4.1.1.4 重新初始化Nginx配遗档案/usr/local/nginx/sbin/nginx -s reload4.1.1.5 试验中

采访:,看到的是Tomcat的网页。

4.1.2 下述二4.1.2.1 前提

根据采访的梯度翻滚转到不同的服务器末端中所去。

采访 同样翻滚到

采访 同样翻滚到

4.1.2.2 环境

Nginx+JDK8+配遗两个Tomcat,Tomcat的配遗不再继续讲述。

4.1.2.3 配遗档案worker_processes 1;events { worker_connections 1024;}http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; #下述一的配遗 server { listen 80; #server_name localhost; server_name 192.168.71.167; location / { root html; #掺入一个大的原话 proxy_pass ; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } #下述二的配遗 server { listen 9001; server_name 192.168.71.167; location ~/edu/ { proxy_pass ; } location ~/vod/ { proxy_pass ; } } }4.1.2.4 重新初始化Nginx配遗档案/usr/local/nginx/sbin/nginx -s reload4.1.2.5 试验中

采访翻滚到了首页。

采访翻滚到了首页。

4.1.3 proxy_set_header

假如Nginx授命服务器末端Server的配遗为:192.168.71.167:9001,翻滚到:127.0.0.1:8080,采访者的IP为:192.168.71.200:20604。

4.1.3.1 Hostproxy_set_header Host $host:$server_port;# Host的绝对值为192.168.71.167:90014.1.3.2 X-Real-IPproxy_set_header X-Real-IP $remote_addr;# X-Real-IP的绝对值为:192.168.71.2004.1.3.3 X-Real-PORTproxy_set_header X-Real-PORT $remote_port;# X-Real-PORT的绝对值为:206044.1.3.4 X-Forwarded-Forproxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;# X-Forwarded-For的绝对值为:192.168.71.2004.2 载荷平衡4.2.1 前提

通过采访,充分利用载荷平衡的特性,平均分摊到8080和8081末端口中所。

4.2.2 环境

Nginx+JDK8+2台Tomcat,的设遗8080,的设遗8081。

4.2.3 配遗档案worker_processes 1;events { worker_connections 1024;}http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; upstream myserver{ #ip_hash; server 192.168.71.167:8080 weight=1; server 192.168.71.167:8081 weight=1; } server { listen 80; #server_name localhost; server_name 192.168.71.167; location / { root html; proxy_pass ; proxy_connect_timeout 10; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }}4.2.4 试验中

采访:,8080和8081周期性采访。

4.2.5 策略

1 轮询(可选)

每个劝告按时间顺序排列逐一重新分配到不同的后末端服务器末端,如果后末端服务器末端down掉,能定时这两项。

2 weight

weight代表也就是话说,可选为1,也就是话说越颇高被重新分配的客户末端越多。

指定轮询机率会,weight和采访比例比绝对值,用做后末端服务器末端效率滞后的情况下。

3 ip_hash

每个劝告按采访IP的hash结果重新分配,这样每个来客一般而言采访一个后末端服务器末端,可以彻底解决session的问题,示例如下:

upstream myserver{ ip_hash; server 192.168.71.167:8080 weight=1; server 192.168.71.167:8081 weight=1;}

4 fair(第三方)

按后末端服务器末端的响应时间来重新分配劝告,响应时间粗壮的优先重新分配。

upstream myserver{ fair; server 192.168.71.167:8080 weight=1; server 192.168.71.167:8081 weight=1;}4.3 一举一动受控4.3.1 立即工作mkdir /datacd /datamkdir www #在www档案夹内都放个a.htmlmkdir image #在image档案夹内都放个1.jpg4.3.2 配遗档案worker_processes 1;events { worker_connections 1024;}http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name 192.168.71.167; location /www/ { root /data/; index index.html index.htm; } location /image/ { root /data/; autoindex on; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }}4.3.3 试验中

采访图片:

采访首页:

采访清单:(因为另设了autoindex on;)

4.4 颇高可用战斗群4.4.1 环境立即

三台电脑程式,每台电脑程式都配有keepalived+Nginx+Tomcat。

4.4.2 安装keepalivedyum -y install keepalived#健康检查否安装rpm -q -a keepalived#安装的配遗档案位置/etc/keepalived/keepalived.conf#触发和关停systemctl start keepalivedsystemctl stop keepalived4.4.3 完毕颇高可用配遗

;大遗keepalived服务器末端中所只有master的设遗电脑程式时会显现VIP住址,否则时会显现脑裂问题。

4.4.3.1 ;大keepalived的配遗global_defs { notification_email { acassen@firewall.loc failover@firewall.loc sysadmin@firewall.loc } notification_email_from Alexandre.Cassen@firewall.loc smtp_server 192.168.200.1 smtp_connect_timeout 30 router_id 192.168.71.167}vrrp_script nginx_check{ script "/usr/local/src/nginx_check.sh" #(十度健康检查一次) interval 1 weight -30}vrrp_instance VI_1 { state MASTER interface ens33 #实体路由ID,小于255,再度用做连在一起实体MAC住址,才会与backup一致 virtual_router_id 51 #优先级,0-254 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.71.100 } track_script { nginx_check }}4.3.3.2 遗keepalived的配遗global_defs { notification_email { acassen@firewall.loc failover@firewall.loc sysadmin@firewall.loc } notification_email_from Alexandre.Cassen@firewall.loc smtp_server 192.168.200.1 smtp_connect_timeout 30 router_id 192.168.71.168}vrrp_script nginx_check{ script "/usr/local/src/nginx_check.sh" #(十度健康检查一次) interval 1 weight 2}vrrp_instance VI_1 { state backup interface ens33 #实体路由ID,小于255,再度用做连在一起实体MAC住址,才会与backup一致 virtual_router_id 51 #优先级,0-254 priority 80 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.71.100 } track_script { nginx_check }}4.3.3.3 chk_nginx.sh原作者#!/bin/bashA=--------ps -C nginx ----no-header |wc -l--------if [ $A -eq 0 ];then #发现中所断后,定时触发 /usr/local/nginx/sbin/nginx sleep 2 #重启不最终,则kill掉keepalived if[ --------ps -C nginx ----no-header |wc -l-------- -eq 0 ];then systemctl stop keepalived fifi

【提示】原作者要加+x的制订职权:chmod +x chk_nginx.sh

4.4.4 Nginx内都配遗

在Nginx内都把实体IP配遗进去即可。

五 基本概念解话说5.1 masterSimonworker

一个Nginx是由一个master的网络和多个worker的网络两组成的。

5.2 worker如何工作的

客户末端发送给劝告到Master,然后给worker,再继续由这些work抓住机会解决问题这个劝告。

5.3 一个master多个worker的优点

1 可以用作nginx -s reload完毕高热部署方式;

2 每个worker是实质上的的网络,如果有其中所的一个worker显现了问题,其他worker实质上的继续完毕抓住机会,充分利用劝告的操作过程,不时会造成服务的中所断;

5.4 另设多极少个worker合适

Nginx和Redis类似,都改用了io多路复用的系统。每个worker的网络都可以把CPU发挥到革命性,;也worker天内和服务器末端的CPU天内基本上一致是最为适宜的。

# 如4个CPUworker_processes 4;5.5 worker_connection连结天内5.5.1 劝告改作的连结天内

发送给劝告:采访快照资源改作2个连结,反之亦然授命改作4个连结。

5.5.2 最小模版采访快照资源:最小连结天内=worker_processes*worker_connections/2反之亦然授命:最小连结天内=worker_processes*worker_connections/4概述

这篇文章是我从事Java服务末端开发多年的经验和概述,都是特意制订过并且配遗最终的,如果有问题,可以随时注意私信我,大家相互努力学习,也希望本篇关于Nginx的概述并不需要设法大家运用在基本上的工作之外所去,给定易于,希望大家;也注意我,后面时会有愈来愈多的洗衣服输出,感恩全力支持。

【温馨提示】

点赞+收藏文章,注意我并私信回复【面试题判别】,即可100%在线缴楼;大的所有面试题参考资料!

四川皮肤病医院哪里比较好
杭州看白癜风的专业医院
广州看白癜风去哪里
郑州白癜风医院怎么去
北京白癜风医院哪里比较好

上一篇: 洛伦兹·大国季报|“正增长”怎么看?“窗口期”怎么干?

下一篇: DAY3|探秘531兵工厂,小记者变身小勇士上演真人CS“热血战”

友情链接