什么是Nginx
Nginx 简介
是一个高性能的 HTTP 和反向代理服务器,特点是占有内存少,并发能力强
Nginx 可以作为静态页面的 web 服务器,同时还支持 CGI 协议的动态语言,比如 perl、php 等。但是不支java。Java 程序只能通过与 tomcat 配合完成。Nginx 专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率 ,能经受高负载的考验,能支持高 达 50000 个并发连接数。
反向代理 其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器 IP 地址。
负载均衡
动静分离 为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度。降低原来单个服务器的压力。
Nginx 安装
1 | docker pull nginx:1.10 |
(1)关闭防火墙
(2)开放访问的端口号,80 端口
1 | 查看开放的端口号 |
Nginx 的常用的命令
1 | 1、查看 nginx 版本号 |
nginx.conf
包含三部分内容
全局块:配置服务器整体运行的配置指令比如 worker_processes 1 处理并发数的配置
events 块:影响 Nginx 服务器与用户的网络连接 比如 worker_connections 1024 支持的最大连接数为 1024
http 块:http 全局块 ;server 块
负载均衡
在 nginx 的配置文件中进行负载均衡的配置
nginx 分配服务器策略
轮询(默认)每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除
weight 代表权重默认为 1,权重越高被分配的客户端越多
ip_hash 每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器
fair(第三方) 按后端服务器的响应时间来分配请求,响应时间短的优先分配。
动静分离
通过 location 指定不同的后缀名实现不同的请求转发。
集群
(1)需要两台服务器 192.168.17.129 和 192.168.17.131
(2)在两台服务器安装 nginx
(3)在两台服务器安装 keepalived
修改/etc/keepalived/keepalivec.conf 配置文件