一、Ngnix简介:
1、基本概念:Nginx是一个高性能的HTTP和反向代理服务器,占有内存少,并发能力强。

nginx 能做什么 | |
---|
反向代理 | 客户端请求到达反向代理服务器,反向代理服务器将请求转发给目标服务器,代理的是服务器 |
负载均衡 | 通过代理服务器将请求分发到多个服务器,将负载分发到不同的服务器上,就是负载均衡 |
动静分离 | 加快网站解析速度,将动态页面和静态页面由不同的服务器来解析 ,加快解析速度 |
-延伸- | – |
正向代理 | 在客户端配置代理服务器,通过代理服务器进行互联网访问,代理的是客户端 |
2、Nginx安装、常用命令和配置文件
Nginx常用命令 | |
---|
前提条件 | 必须进入Nginx的目录 |
查看版本号 | ./nginx -v |
启动Nginx | ./ nginx |
关闭Nginx | ./nginx -s stop |
重加载 | ./nginx -s reload |
Nginx配置文件 | /usr/local/nginx/conf/ nginx.conf |
---|
配置文件组成 | 三部分组成 |
第一部分 | 全局块 :主要设置一些影响Nginx服务器整体运行的配置指令,包括配置运行Nginx服务器的用户(组)、允许生成的worker process数、进程PID存放路径、日志存放路径和类型以及配置文件的引入等 |
第二部分 | events块:主要影响Nginx服务器与用户的网络连接 |
第三部分 | http块:Nginx服务器配置最频繁的部分,代理、缓存和日志定义等绝大多数功能和第三方模块的配置部署都在这里 |
– | -HTTP块继续分为- |
http 全局块 | 配置文件引入、日志自定义、连接超时时间、点链接请求上限等 |
server块 | 和虚拟主机有密切关系,为了节省互联网服务器硬件成本,每个server相当于一个虚拟主机 |
– | -server块继续分为- |
全局server块 | 最常见的配置时本虚拟机主机的监听配置和本机虚拟机的名称或IP配置 |
location块 | 一个server块可以配置多个location块, |
3、Nginx配置实例-反向代理
1)、实现单个服务器配置

第一步:在Windows系统的host文件进行域名和ip对应关系的配置。
添加内容在host文件中:

第二步:在Nginx进行请求转发的配置
在 /usr/local/nginx/conf/ nginx.conf 文件中配置
在server块中 | |
---|
配置server_name | 192.168.17.129; |
– | – |
在location模块中 | |
添加proxy_pass | http://127.0.0.1:8080; |
第三步:重启Nginx
注意:端口对外默认不开放 |
---|
firewall-cmd–add-port=8080/tcp–permanent |
firewall-cmd-reload |
firewall-cmd --list-all |
2)、实现多个服务器的分发
第一步:准备好多个目标服务器
第二步:创建测试页面
第三步:具体配置
进入Nginx配置文件 | /usr/local/nginx/conf/ nginx.conf |
---|
重新添加server块 | |
配置listen | 端口 |
配置server_name | nginx服务器提供的ip |
配置location块 | 根据不同的请求路径转发到不同的目标主机 |
注意防火墙 | 开放端口 |

第四步:重新启动Nginx
4、Nginx配置实例-负载均衡
第一步:进入Nginx配置文件
配置http块 | 添加负载均衡服务器的列表 |
---|
upstream myserver{多个目标服务器} | server 服务器ip:端口; |
– | – |
配置server块 | 添加映射规则 |
修改server_name | 服务器ip(server_name 192.168.17.129) |
– | – |
location块 | |
添加proxy_pass | http://myserver;(upstream myserver的myserver同名) |

负载均衡算法 | |
---|
轮询 | 默认 |
weight | 权重越高,分配越多,直接在upstreat myserver中添加weight |
ip_hash | 直接在中添加ip_hash:upstreat myserver{ip_hash; },解决session问题 |
fair(第三方) | 直接添加:fair就可以 按后端服务器的响应时间来分配请求,响应时间短的优先分配 |
5、Nginx配置实例-动静分离

实现方式 | 两种 |
---|
方式一 | 纯粹的把静态文件独立成单独的域名,放在独立的服务器上 |
方式二 | 动态跟静态文件混合在一起发布,通过Nginx分开 |
6、Nginx配置高可用集群
第一步:进入Nginx配置文件进行配置
修改:
server_name
location

7、Nginx配置高可用集群


需要两台Nginx服务器 |
---|
需要keepalived |
需要虚拟ip |

