nginx简介
nginx是一个web服务器,它支持反向代理,也是高性能的服务器。它的优点相当于apache来说有占用内存小,并发能力强,稳定性高等。
nginx作为http服务器
正向代理:如果把局域网外的 Internet 作为一个资源库,则局域网中的客户端要访 问 Internet,则需要通过代理服务器来访问,这种代理服务就称为正向代理。我们需要通过代理服务器来进行访问服务器。举例(翻墙)。
添加参数:max_clients = worker_processes * worker_connections
nginx作为反向代理服务器
反向代理:用户不要配置任何东西,只要把请求发送给反向代理服务器;由反向代理服务器去选择目标服务器获取数据后,返回给用户。此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器 地址,隐藏了真实服务器 IP 地址。
max_clients = worker_processes * worker_connections / 2
设置nginx负载均衡器
集群:一个服务器解 决不了,增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,这就是负载均衡。
修改配置文件,172.25.254.4/5设置为后端服务器。启动nginx时,必须在防火墙上加上80端口和http服务。
nginx 分配服务器策略:
1.轮询:每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除。
2.权重weight:权重越高被分配的客户端越多.
3.ip_hash:每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器。
4.fair(第三方):按后端服务器的响应时间来分配请求,响应时间短的优先分配。
设置负载均衡器:
添加upstream 模块,定义了负载均衡器的名字为westos,里面有两个服务器。
创建nginx虚拟主机:监听80端口,访问 / 的时候,调度到westos均衡器上
编辑/etc/hosts,添加www.westos.org解析
测试,c1为1个并发,输送1000个请求,结果全部成功没有丢失。
nginx进行源码编译
源码编译三部曲:
./configure
make
make install
添加sticky时,首先下载zip包,解压之后使用–add-module=PATH添加路径(解压后的包),然后再进行编译。
sticky模块会在用户访问服务器时产生一个cookie,让一个服务器返回数据。
注意:源码编译时一定要在解压后的源码目录中操作。
nginx配置文件详解
最开始到events之间,存放影响服务器的整体配置。Nginx 服务器的用户(组)、允许生成的 worker process 数等。
worker_processes = 2: 并发处理量;
events:是否 允许同时接收多个网络连接;每个 word process 可以同时支持的最大连接数等;
http块:包括多个 server 块,而每个 server 块就相当于一个虚拟主机。