1.什么是nginx
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务,其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。开源软件,服务器软件.能够支持高达 50,000 个并发连接数的响应。
2.nginx的使用
2.1安装nginx软件所需的依赖插件
yum install -y gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
2.2把我们的nginx安装包上传到linux中并解压
2.3创建一个目录为nginx的安装目录
在usr下用命令mkdir /usr/nginx 建立一个名为nginx的目录
2.4进入nginx的解压目录进行修改nginx的安装路径
2.5编译--安装nginx
安装后会出现四个目录
conf: 配置目录
html: 放置静态资源的。
logs: 日志
sbin: 启动和关闭nginx的脚本
2.6nginx的命令
./nginx 开启nginx
./nginx -s stop 关闭nginx
./nginx -s reload 重新加载配置文件---修改完配置文件后使用该命令
如果要访问nginx必须关闭防火墙
3.nginx的配置文件
连接的数量
4.nginx核心
反向代理,负载均衡,动静分离,高可用。
4.1反向代理
正向代理: 该服务器代理的为客户端,对于后面真实的服务器来说,不知道访问者的地址。
反向代理: 该服务器代理的为服务器端,对于客户来说不知道访问的真实服务器。
4.2负载均衡
默认负载均衡的策略为轮询策略。
1、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
2、weight
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
2、ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
3、fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
4、url_hash(第三方)
轮询,修改配置使其轮询
weight越大,轮询的几率越大
拿到客户的ip,计算hash值,方配到一个服务器,不改变ip前都是固定进入这个服务器的。
4.3动静分离
4.4高可用
高可用,简称 HA,是系统一种特征或者指标,通常是指,提供一定性能上的服务运行时间,高于平均正常时间段。 反之,消除系统服务不可用的时间。 衡量系统是否满足高可用,就是当一台或者多台服务器宕机的时候,系统整体和服务依然正常可用。
准备一个keepAlived主的ip和一个keepAlived从的ip,并且在这两个的nginx所在的主机上安装keepAlived,keepAlived会虚拟出一个虚拟ip,并在主的节点上不能用的时候切换到从的节点。
安装指令:
yum install -y keepalived 安装keepalived
rpm -q -a keepalived 检查是否安装keepalived
同时启动两台nginx,并且启动keepAlived指令如下:
systemctl start keepalived
关闭主的nginx,从的nginx就会启动
nginx -s stop 关闭nginx
systemctl stop keepalived