【美高梅手机版4858】负载均衡之Nginx,借助Nginx搭建反向代理服务器

By admin in 美高梅手机版4858 on 2019年3月29日

目录

  • 简介

  • 常用命令

  • 功能

    • 代理
    • 反向代理
    • 集群
      • HTTP集群
      • TCP集群
    • 重定向
    • 静态文件
    • HTTPS配置
  • 周边难题

目录

  • 简介

  • 常用命令

  • 功能

    • 代理
    • 反向代理
    • 集群
      • HTTP集群
      • TCP集群
    • 重定向
    • 静态文件
    • HTTPS配置
  • 广泛难题

依据《实战Nginx:取代Apache的高品质Web服务器》 二零零六年版本

  转载自:周旭龙   

一 、反向代理:Web服务器的“经纪人”

简介

Nginx (“engine x”)
是一款轻量级,高质量的HTTP和反向代理服务器,也是1个IMAP/POP3/SMTP服务器。
传输层的载荷均衡有LVS(Linux) 和 NLB(Windows)

简介

Nginx (“engine x”)
是一款轻量级,高品质的HTTP和反向代理服务器,也是叁个IMAP/POP3/SMTP服务器。
传输层的负载均衡有LVS(Linux) 和 NLB(Windows)

第一章 Nginx简介

1.Nginx的优点:

  • 高并发:使用epoll和kqueue互连网I/O模型,而Apache是观念的select模型。能够辅助5万涌出,实际2到4万。
  • 内部存款和储蓄器消耗少
  • 成本低
  • 作用强:帮忙rewrite重写规则等

1.1 反向代理初印象

  反向代理(Reverse
Proxy)方式是指以代理服务器来接受internet上的接连请求,然后将请求转发给内部互联网上的服务器,并将从服务器上取得的结果重返给internet上呼吁连接的客户端,此时期理服务器对外就显现为贰个服务器

美高梅手机版4858 1

  从上海体育场地能够看来:反向代理服务器位于网站机房,代理网站Web服务器收到Http请求,对请求进行转向。

常用命令

  • nginx -v // nginx 版本
  • start nginx // 运转nginx,不封堵命令窗口
  • nginx -s stop | nginx -s quit // 快捷截止 | 有序退出
  • nginx -s reload // 加载配置重新启航

常用命令

  • nginx -v // nginx 版本
  • start nginx // 运营nginx,不打断命令窗口
  • nginx -s stop | nginx -s quit // 飞快停止 | 有序退出
  • nginx -s reload // 加载配置重新开动

其次章 Nginx服务器的设置与配置

在ubuntu 16.04中装置Nginx:1.配备用户:

# 添加www组groupadd www# 创建nginx运行账户www并加入到www组,不允许www用户直接登录系统useradd -g www www -s /bin/false

2.安装正视:

# 查看zlib是否安装dpkg -l | grep zlib# 解决依赖包openssl安装sudo apt-get install openssl libssl-dev# 解决依赖包pcre安装sudo apt-get install libpcre3 libpcre3-dev# 解决依赖包zlib安装sudo apt-get install zlib1g-dev

3.下载并解压

# 下载nginxwget http://nginx.org/download/nginx-1.13.1.tar.gz# 解压nginxtar -xzvf nginx-1.13.1.tar.gz# 重命名文件夹mv nginx-1.13.1 nginx

4.安装

# 配置nginxcd /root/nginxsudo ./configure --user=www --group=www --prefix=/root/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --conf-path=/root/nginx/nginx.conf# 编译nginxsudo make# 安装nginxsudo make install

5.反省装置是不是成功

cd /root/nginx/sbin./nginx -t 

6.启动

cd /root/nginx/sbin./nginx -c /root/nginx/conf/nginx.conf

7.停止

# 查找master进程idps -ef | gre nginx# 从容停止kill -QUIT master进程号 #快速停止kill -TERM master进程号/PID文件#强制停止kill -9 nginx

8.平滑重启

# 首先检查配置文件nginx -t# 重启nginx -HUP master进程号/PID文件

1.2 反向代理的意义

  ①保卫安全网站安全:任何来自Internet的伸手都不可能不先通过代理服务器;

美高梅手机版4858 2

  ②通过布署缓存作用加速Web请求:能够缓存真实Web服务器上的有个别静态能源,减轻真实Web服务器的负荷压力;

美高梅手机版4858 3

  ③落到实处负载均衡:担任负载均衡服务器均衡地分发请求,平衡集群中各样服务器的载荷压力;

美高梅手机版4858 4

功能

功能

其三章 Nginx的为主配置与优化

1.主导配置

  • user钦点用户和组
  • worker_processes钦定工作衍生进度数,一般为CPU的总核数可能两倍
  • error_log钦赐错误日志级别和路线
  • pid钦点pid存放路径
  • worker_rlimit_nofile指定文件讲述符数量
  • events钦点网络模型、连接数等
  • http钦点http协议、字符集、上传文件大小限制等
  • server钦命服务监听端口,转载规则等

2.虚拟主机:用于在相同台机器上搭建多个网站,nginx有两种虚拟主机的办法

  • 依据IP: http-server-listen中布局分歧ip
  • 遵照域名:http-server-listen中配置不一样server_name
  • 基于端口:http-server-listen中安顿不一样端口

3.nginx的日记文件与切割:在server中应用access_log配置日志路径(设置为off关闭日志),log_format钦命日志格式,需求借crontab举办日志切割。

4.location下面是运用autoindex on自动列目录。

5.expire设置浏览器本地缓存。

贰 、初识Nginx:不难却不平庸

代理

server {
    listen 8080;                # 监听8080端口
    resolver 114.114.114.114;   # dns解析地址  
    location / {
        proxy_pass  $scheme://$host$request_uri; # 代理到哪个地址
        proxy_set_header Host $http_host;
        #allow 127.0.0.1;       # 允许127.0.0.1地址访问
        #deny all;              # 禁止所有地址访问(allow位置在上面,所以127.0.0.1仍能访问)
    }
}

代理

server {
    listen 8080;                # 监听8080端口
    resolver 114.114.114.114;   # dns解析地址  
    location / {
        proxy_pass  $scheme://$host$request_uri; # 代理到哪个地址
        proxy_set_header Host $http_host;
        #allow 127.0.0.1;       # 允许127.0.0.1地址访问
        #deny all;              # 禁止所有地址访问(allow位置在上面,所以127.0.0.1仍能访问)
    }
}

第⑤章 Nginx与PHP的装置、配置与优化

2.1 Nginx是神马?

美高梅手机版4858 5

  Nginx是一款轻量级的网页服务器、反向代理器以及电子邮件代理服务器。其将源代码以类BSD许可证的方式宣布,因它的安宁、丰硕的作用集、示例配置文件和低系统财富的损耗而天下闻名。

Source:Nginx(发音同engine x),它是由俄罗丝程序员Igor
Sysoev
所付出的。初叶是供俄联邦民代表大会型的门户网站及查找引擎Rambler(阿尔巴尼亚语:Рамблер)使用。此软件BSD-like协议下发行,能够在UNIX、GNU/Linux、BSD、Mac
OS X、Solaris,以及Microsoft Windows等操作系统中运作。

  说到Web服务器,Apache服务器和IIS服务器是两大巨头;可是运转速度更快、更灵活的敌方:Nginx 正在迎头赶上。

反向代理

server {
    listen 8081;                    # 监听8080端口
    server_name  localhost;         # 虚拟hostName

    location / {
        proxy_pass   http://127.0.0.1:8081; # 反向代理到的服务器
    }
}

反向代理

server {
    listen 8081;                    # 监听8080端口
    server_name  localhost;         # 虚拟hostName

    location / {
        proxy_pass   http://127.0.0.1:8081; # 反向代理到的服务器
    }
}

第陆章 Nginx与JSP、ASP.NET、Perl的设置与配置

【美高梅手机版4858】负载均衡之Nginx,借助Nginx搭建反向代理服务器。1.对此利用jsp的网页,一般静态页面、图片、js、css、flash等应用nginx处理,.jsp、.do的央浼,由nginx反向代理汤姆cat
HTTP服务器处理。

美高梅手机版4858 6image

2.2 Nginx的行使现状

  Nginx 已经在俄罗丝最大的门户网站── Rambler
Media
(www.rambler.ru美高梅手机版4858,)上运维了3年时间,同时俄联邦当先二成的虚拟主机平台应用Nginx作为反向代理服务器。

美高梅手机版4858 7美高梅手机版4858 8美高梅手机版4858 9美高梅手机版4858 10美高梅手机版4858 11

  在境内,已经有
天猫商城、博客园博客、新浪播客、搜狐音讯、六间房、56.com、Discuz!、水木社区、豆瓣、YUPOO、海内、迅雷在线
等多家网站使用 Nginx 作为Web服务器或反向代理服务器。

集群

集群

第④章 Nginx HTTP负载均衡和反向代理的配备与优化

1.载重均衡:多台服务器以对称情势结合贰个服务器集合,每台服务器等价的承上启下负载。反向代理是指代理服务器接受Internet上的连日请求,然后将呼吁转载给内部服务器。

2.常用繁体均衡格局:

  • 手动选项
  • dns轮询
  • OSI网络名四层、七层负载均衡沟通机,如F5

3.nginx载重均衡与反向代理配置,使用的是HTTP Upstream模块

  • upstream设置一组服务器
  • 通过location区分不一样地方进行反向代理,proxy_pass设置开始展览反向代理的upstream服务器集群,proxy_set_header添加内定的Header头音信。

4.Upstream模块命令:

  • ip_hash:通过对走访ip执行hash操作规定指标服务器
  • server:用于配置服务器权重,失败重连、暂停时间,标记离线、复苏等配备
  • upstream:设定一组能够再proxy_pass指令中动用的代理服务器

2.3 Nginx的着力特点

  (1)跨平台:Nginx 能够在超过5/10 Unix like
OS编写翻译运营,而且也有Windows的移植版本;

  (2)布局不行简单:极度不难上手。配置风格跟程序支付一样,神一般的配备;

  (3)非阻塞、高并发连接:数量复制时,磁盘I/O的首先等级是非阻塞的。官方测试可以支持5万出现连接,在其实生育环境中跑到2~3万并发连接数。(那得益于Nginx使用了流行的epoll模型);

PS:对此二个Web服务器来说,首先看三个伸手的骨干进程:建立连接—接收数据—发送数据,在系统底层看来
:上述进度(建立连接—接收数据—发送数据)在系统底层正是读写事件

①假如采纳闭塞调用的点子,当读写事件尚未积谷防饥好时,必然不可见举行读写事件,那么久只可以等待,等事件准备好了,才能开始展览读写事件,那么请求就会被拖延。

②既然没有准备好阻塞调用不行,那么采取非阻塞调用办法。非阻塞就是:事件及时赶回,告诉你事件还没准备行吗,你慌什么,过会再来吧。好呢,你过一会,再来检查一下事件,直到事件准备好了截至,在那里面,你就足以先去做任何工作,然后再来看看事件好了没。纵然不打断了,但您得每每地光复检查眨眼间间风浪的景色,你能够做更加多的政工了,但拉动的开销也是极大的。

  (4)事件驱动:通讯机制采取epoll模型,辅助更大的面世连接。

①非阻塞通过不停车检查查事件的场地来判定是或不是开始展览读写操作,那样带来的支付极大,因而就有了异步非阻塞的事件处理机制。那种体制让你能够同时监察和控制三个事件,调用他们是阻塞的,但能够安装超时时间,在逾期时间之内,要是有事件准备好了,就赶回。那种体制消除了地点阻塞调用与非阻塞调用的八个难点。

②以epoll模型为例:当事件没有准备好时,就放入epoll(队列)里面。倘使有事件准备好了,那么就去处理;假使事件重临的是EAGAIN,那么继续将其放入epoll里面。从而,只要有事件准备好了,大家就去处理它,只有当全体事件都并未备选好时,才在epoll里面等着。这样,大家就足以并发处理多量的并发了,当然,那里的产出请求,是指未处理完的乞请,线程唯有三个,所以还要能处理的呼吁当然唯有三个了,只是在呼吁间开始展览持续地切换而已,切换也是因为异步事件未准备好,而主动让出的。那里的切换是绝非此外代价,你能够知道为循环处理三个备选好的轩然大波,事实上正是这么的。

③与二十四线程格局对待,那种事件处理格局是有一点都不小的优势的,不须求创立线程,每一个请求占用的内部存款和储蓄器也很少,尚无上下文切换,事件处理非凡的轻量级,并发数再多也不会造成无谓的财富浪费(上下文切换)。对于IIS服务器,各样请求会把持3个行事线程,当并发数上到几千时,就同时有几千的线程在拍卖请求了。那对操作系统来说,是个相当的大的挑战:因为线程带来的内部存款和储蓄器占用一点都非常大,线程的上下文切换带来的cpu开销非常的大,自然个性就上不去,从而造成在高并发场景下品质降低严重。

总结:透过异步非阻塞的事件处理机制,Nginx完结由进程循环处理四个备选好的轩然大波,从而完结高并发和轻量级。 

  (5)Master/Worker结构:三个master进度,生成一个或三个worker进度。

美高梅手机版4858 12

PS:Master-Worker设计情势宗旨境想是将原本串行的逻辑并行化,并将逻辑拆分成很多独自模块并行执行。当中第③涵盖三个关键组件Master和Worker,Master首要将逻辑进行拆分,拆分为互相独立的一部分,同时爱护了Worker队列,将各种独立部分下发到多少个Worker并行执行,Worker主要开始展览实际逻辑统计,并将结果再次来到给Master。

问:nginx采纳那种进度模型有何样便宜?

答:使用独立的长河,可以让互相之间不会影响,二个经过退出后,其它进度还在做事,服务不会停顿,Master进度则急速再次起动新的Worker进度。当然,Worker进度的百般退出,肯定是先后有bug了,极度退出,会促成当前Worker上的具备请求失利,可是不会潜移默化到全部请求,所以下落了风险。

  (6)内部存储器消耗小:处理大产出的乞求内部存款和储蓄器消耗非常的小。在3万并发连接下,开启的10个Nginx
进度才消耗150M内存(15M*10=150M)。

  (7)内置的健检功效:一旦 Nginx 代理的后端的某台 Web
服务器宕机了,不会影响前端访问。

  (8)节省带宽:协助 GZIP 压缩,能够加上浏览器本地缓存的 Header
头。

  (9)安乐高:用来反向代理,宕机的票房价值微乎其微。

HTTP集群

upstream clusterName {
    # 通过weight设置每台服务器分配请求站的权重,值越高分配的越多。
    server  127.0.0.1:9000 weight=4; 
    server  127.0.0.1:8082 weight=1; 
    # ip_hash会计算ip对应hash值,然后分配到固定服务器
    ip_hash; 
}

location / {
    proxy_pass   http://clusterName; # 反向代理到群集服务器
    # 设置主机头和客户端真实地址,以便服务器获取客户端真实IP
    proxy_set_header   Host             $host; 
    proxy_set_header   X-Real-IP        $remote_addr; 
    proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
}

HTTP集群

upstream clusterName {
    # 通过weight设置每台服务器分配请求站的权重,值越高分配的越多。
    server  127.0.0.1:9000 weight=4; 
    server  127.0.0.1:8082 weight=1; 
    # ip_hash会计算ip对应hash值,然后分配到固定服务器
    ip_hash; 
}

location / {
    proxy_pass   http://clusterName; # 反向代理到群集服务器
    # 设置主机头和客户端真实地址,以便服务器获取客户端真实IP
    proxy_set_header   Host             $host; 
    proxy_set_header   X-Real-IP        $remote_addr; 
    proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
}

第9章 Nginx的Rewrite规则与实例

1.Rewrite的关键成效是贯彻URL的重写,使用pcre库(Perl包容正则表明式)。相关指令如下:

  • break:完结近期的规则集,不再处理rewrite指令
  • if:条件判断,不扶助前嵌套、&&和||处理。变量比较:=和!=,正则表明式:*或然,文件存在判断-f,目录存在判断-d,文件或许目录判断-e,文件是或不是可举办-x。
  • return:停止规则并赶回状态码给客户端
  • rewrite:依照表达式重定向U帕杰罗I,只对相对路径有效,要配对主机名,使用if语句。假使替换串以
  • set:设定环境变量
  • uninitialized_variable_warn:开启只怕关闭未早先化变量的告诫新闻

2.rewrite格式:

rewrite <regex> <replacement> flag

rewrite的最终一项为flag标记,取值有:

  • last-完成rewrite;
  • break:本条匹配成功后,终止匹配;
  • redirect:302一时重定向,浏览器展现跳转后的U奥迪Q3L;
  • permanent:重返301永恒重定向,浏览器地址突显跳转后U揽胜极光L。last和break浏览器地址不变。

未完待续…

③ 、创设实战:Nginx+IIS构筑Web服务器集群的载荷均衡

  那里大家根本在Windows环境下,通过将同三个Web网站安顿到分裂服务器的IIS上,再通过贰个联合的Nginx反响代理服务器对外提供联合访问接入,达成二个最简化的反向代理和负载均衡服务。不过,受限于实验条件,大家那边最主要在一台电脑上实行反向代理、IIS集群的模仿,具体的实验环境如下图所示:大家将nginx服务和web网站都配备在一台电脑上,nginx监听http80端口,而web网站分别以不一样的端口号(那里是8050及8060)安排在同3个IIS服务器上,用户访问localhost时,nginx作为反向代理将呼吁均衡地转载给四个IIS中区别端口的Web应用程序实行处理。即使试验环境很简单而且简单,但是对于2个简练的负荷均衡效果而言,本文是足以直达并且出示的。

美高梅手机版4858 13

TCP集群

  • 和http同级

stream {
    server {
        listen 1034;
        proxy_pass app;
    }

    upstream app {
        server 192.168.0.111:5672;
        server 192.168.0.112:5672;
    }
}

TCP集群

  • 和http同级

    stream {
    server {
        listen 1034;
        proxy_pass app;
    }
    
    upstream app {
        server 192.168.0.111:5672;
        server 192.168.0.112:5672;
    }
    }
    

3.1 准备1个ASP.NET网站布署到IIS服务器集群中

  (1)在VS中新建三个ASP.NET
Web应用程序,不过为了在一台电脑上展现效果,我们将以此Web程序复制一份,并修改多个Web程序的Default.aspx,让其的首页展现分裂的一点消息。那里Web1体现的是“The
First Web:”,而Web2出示的则是“The Second Web”。

美高梅手机版4858 14

  (2)调节和测试运营,看看八个网站的遵守怎么样?

  ①Web1的来得效果:

美高梅手机版4858 15

  ②Web2的展现效果:

美高梅手机版4858 16

  ③布局到IIS中,分配不一致的端口号:那里自身接纳了Web1:8050,Web2:8060

美高梅手机版4858 17

  (3)总结:在实事求是环境中,创设Web应用服务器集群的完结是将同八个Web应用程序布署到Web服务器集群中的多少个Web服务器上

重定向

location / {
    rewrite ^/(.*)$ http://www.xx.com/$1 permanent;
}
  • flag
    • last – 基本上都用那个Flag。
    • break – 中止Rewirte,不在继续同盟
    • redirect – 再次来到一时重定向的HTTP状态302
    • permanent – 重返永久重定向的HTTP状态301

重定向

location / {
    rewrite ^/(.*)$ http://www.xx.com/$1 permanent;
}
  • flag
  • last – 基本上都用这么些Flag。
  • break – 中止Rewirte,不在继续配合
  • redirect – 重回近期重定向的HTTP状态302
  • permanent – 重回永久重定向的HTTP状态301

3.2 下载Nginx并配置到服务器中作为自启动的Windows服务

  (1)到Nginx官网下载Nginx的Windows版本:(那里我们选取nginx/Windows-1.4.7版本进行实验,本文底部有下载地址)

  (2)解压到磁盘任意目录,例如那里本人解压到了:D:\Servers\nginx-1.4.7

  (3)运行、结束和另行加载服务:通过cmd以守护进度情势运行nginx.exe:start
nginx.exe
,截止服务:nginx -s stop,重新加载配置:nginx -s 
reload

美高梅手机版4858 18

  (4)每一遍以cmd格局运转Nginx服务不符合实际要求,于是我们想到将其注册为Windows服务,并设置为全自动运行形式。那里,大家运用1个没错的小程序:“Windows
Service Wrapper”,将nginx.exe注册为Windows服务,具体的步凑如下:

  ①下载最新版的 Windows Service Wrapper 程序,比如小编下载的称谓是
“winsw-1.8-bin.exe”(本文尾部有下载地址),然后把它定名成你想要的名字(比如:
“nginx-service.exe”,当然,你也足以不改名)

  ②将重命名后的 nginx-service.exe 复制到 nginx
的安装目录(比如,作者那边是 “D:\Servers\nginx-1.4.7″)

  ③在同3个索引下创立二个Windows 瑟维斯 Wrapper
的XML配置文件,名称必须与第②步重命名时使用的名目一致(比如小编这里是
“nginx-service.xml”,  假诺,你从未重命名,则应当是
“winsw-1.8-bin.xml”),那么些XML的情节如下:

美高梅手机版4858 19

<?xml version="1.0" encoding="UTF-8" ?> <service> <id>nginx</id> <name>Nginx Service</name> <description>High Performance Nginx Service</description> <executable>D:\Servers\nginx-1.4.7\nginx.exe</executable> <logpath>D:\Servers\nginx-1.4.7\</logpath> <logmode>roll</logmode> <depend></depend> <startargument>-p D:\Servers\nginx-1.4.7</startargument> <stopargument>-p D:\Servers\nginx-1.4.7 -s stop</stopargument> </service>

美高梅手机版4858 20

  ④在指令行下执行以下命令,以便将其登记成Windows服务:nginx-service.exe
install

美高梅手机版4858 21

  ⑤接下去就足以在Windows服务列表看到Nginx服务了,那里大家能够将其安装为活动运转了:

美高梅手机版4858 22

  (5)总结:在Windows环境中,要对外提供的Windows服务一般都要将其运行项目设置为自动

静态文件

location /^(.*) {
    root   html;                    # 根目录为html文件夹
    index  $1 index.html index.htm; # $1表示正则匹配第一项
}

静态文件

location /^(.*) {
    root   html;                    # 根目录为html文件夹
    index  $1 index.html index.htm; # $1表示正则匹配第一项
}

3.3 修改Nginx焦点配置文件nginx.conf

  (1)进度数与种种进程的最厦门接数:

    •nginx进度数,建议设置为等于CPU总焦点数

    

    •单个进程最安卡拉接数,那么该服务器的最特古西加尔巴接数=连接数*进程数

美高梅手机版4858 23

  (2)Nginx的大旨配备:

    •监听端口一般都为http端口:80;

    •域名能够有多少个,用空格隔开分离:例如 server_name www.ha97.com
ha97.com;

美高梅手机版4858 24

  (3)负载均衡列表基本配备:

    •location /
{}:对aspx后缀的进行负荷均衡请求,假设大家要对拥有的aspx后缀的文件进行负荷均衡时,能够如此写:location
~ .*\.aspx$ {}

    •proxy_pass:请求转向自定义的服务器列表,那里大家将呼吁都转载标识为

美高梅手机版4858 25

    •在负载均衡服务器列表的配置中,weight是权重,能够依据机器配置定义权重(假使某台服务器的硬件配备不行好,能够处理更多的央求,那么能够为其安装1个比较高的weight;而有一台的服务器的硬件配备相比差,那么能够将前一台的weight配置为weight=2,后一台差的配置为weight=1)。weigth参数表示权值,权值越高被分配到的可能率越大;

美高梅手机版4858 26

  (4)总结:*最大旨的Nginx配置大致正是地方那几个内容,当然仅仅是最基础的配备。***(详细的布局内容请下载底部的nginx-1.4.7详细查看)

绑定证书

# HTTPS server
#
server {
    listen       443 ssl;
    server_name  localhost;

    ssl_certificate      /nginx/server.cer; # 公钥(一般为公钥证书 + 中级证书)
    ssl_certificate_key  /nginx/server.key; # 私钥

    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
    ssl_prefer_server_ciphers on;
}

绑定证书

# HTTPS server
#
server {
    listen       443 ssl;
    server_name  localhost;

    ssl_certificate      /nginx/server.cer; # 公钥(一般为公钥证书 + 中级证书)
    ssl_certificate_key  /nginx/server.key; # 私钥

    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
    ssl_prefer_server_ciphers on;
}

3.4 添加Nginx对于静态文件的缓存配置

  为了抓牢响应速度,减轻真实服务器的负载,对于静态财富大家能够在反向代理服务器中开始展览缓存,那也是反向代理服务器的1个重庆大学的效益。

  (1)缓存静态能源之图片文件

  root
/nginx-1.4.7/staticresources/image:对于配置中涉嫌的jpg/png等文件均定为到/nginx-1.4.7/staticresources/image文件夹中进行搜索匹配并将文件重返;

  expires
7d:过期时效为7天,静态文件不怎么更新,过期时效可以设大学一年级点,要是反复更新,则足以安装得小一些;

  TIPS:上面包车型大巴样式、脚本缓存配置同那里一样,只是原则性的公文夹不均等而已,不再赘述。

美高梅手机版4858 27

  (2)缓存静态能源之样式文件

美高梅手机版4858 28

  (3)缓存静态能源之脚本文件

美高梅手机版4858 29

  (4)在nginx服务文件夹中开创静态财富文件夹,并要缓存的静态文件拷贝进去:那里本身重点将Web程序中用到的image、css以及js文件拷贝了进入;

美高梅手机版4858 30

  (5)总结:由此配备静态文件的缓存设置,对于这几个静态文件的伸手可以一向从反向代理服务器中一向回到,而无需再将那么些静态能源请求转发到现实的Web服务器进行处理了,能够抓好响应速度,减轻真实Web服务器的负荷压力

大面积难题

  • 与IIS(80端口)冲突
    • 被System占用
      • 找到HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/HTTP下的Start修改其值为0,重启电脑即可
    • 被IIS占用
      • 停用IIS 80端口的网站
  • nginx群集
    • 要是nginx服务器挂了,那大家的站点就平昔挂了,能够由此keepalived组件来搭建多台nginx服务提供劳动。
  • error.log 错误日志:signal process started
    • 毫无一无可取,只要举办-s reload就会时有产生

科学普及难题

  • 与IIS(80端口)冲突
    • 被System占用
      • 找到HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/HTTP下的Start修改其值为0,重启电脑即可
    • 被IIS占用
      • 停用IIS 80端口的网站
  • nginx群集
    • 假使nginx服务器挂了,那大家的站点就一向挂了,能够由此keepalived组件来搭建多台nginx服务提供服务。
  • error.log 错误日志:signal process started
    • 并非一无所长,只要举办-s reload就会发生

3.5 简单测试Nginx反向代理达成负载均衡效果

  (1)第①次访问

  (2)第③遍访问

  (3)多次走访

美高梅手机版4858 31

上学小结

  在本文中,借助了Nginx这一个神器简单地在Windows环境下搭建了三个反向代理服务,并模仿了2个IIS服务器集群的负载均衡效果。从那些DEMO中,我们得以归纳地感受到反向代理为大家所做的事体,并咀嚼负载均衡是怎么贰遍事。但是,在现阶段大多数的采纳中,都会将Nginx布署在Linux服务器中,并且会做一些对准负载均衡的优化安顿,那里大家所做的唯有就是三个非常小使用而已(just修改一下布置文件)。然则,万丈高楼平地起,早先时代的一点都不大体会,也会支持大家向中期的深远学习奠定一丢丢的功底。

  突然在QQ空间里看看了情侣送的赠品,猛然察觉今日甚至是本身的农历生日,好呢,笔者祝小编要好生日兴奋,希望团结在以后的小日子中可见做更加多的执行,分享更加多的内容。当然,假若你认为本文还足以,那也麻烦点个赞,不要吝啬你的鼠标左键哟。

参考资料

(1)丁胖胖,《图解正向代理、反向代理与透明代理》:

(2)侦察兵-AK47,《正向代理与反向代理的界别》:

(3)百度百科,Nginx:

(4)51CTO,《Nginx安装配置与服务搭高等建筑专科学校题》:

(5)红黑联盟,《Nginx配置文件nginx.conf汉语详解放区救济总会括》:

(6)360doc,《Linux下同步情势、异步格局、阻塞调用与非阻塞调用总计》: (好文一篇,值得阅读

(7)e路相扶,《同步、异步、阻塞与非阻塞》:

(8)feitianxuxue,《处理大并发之对异步非阻塞的接头》:

附属类小部件下载

(1)nginx-1.4.7:

(2)winsw-1.8-bin.exe:

(3)SimpleNginxDemo:

 

作者:周旭龙

出处:http://edisonchou.cnblogs.com/

本文版权归小编和微博共有,欢迎转发,但未经作者同意必须保留此段注脚,且在小说页面分明地方给出原版的书文链接。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 美高梅手机版4858 版权所有