内容介绍

1、nginx基本概念

(1)Nginx是什么,做什么事情

Nginx是一个高性能的HTTP和反向代理web服务器,特点是占有内存少,并发能力强。因它的稳定性、简单的配置文件和低系统资源的消耗而闻名

Nginx专为性能优化而开发,性能是其最重要的考量,实际上非常注重效率,能经受高负载的考验,有报告表明能支持高达50000个并发连接数。

支持热部署,7*24小时不间断运行。

(2)反向代理

a.正向代理

在客户端(浏览器)配置代理服务器,通过代理服务器进行互联网访问

 

 

 

b.反向代理

我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,再返回给客户端,此时反向代理服务器和目标服务器对外就是有一个服务器,暴露的是代理服务器地址,隐藏了真实服务器ip地址。

 

 

 

(3)负载均衡

单个服务器解决不了,我们增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为请求分发到多个服务器上,将辅助分发到不同的服务器,也就是我们所说的负载均衡。

 

 

 

 

(4)动静分离

 

 

 

 

2、nginx安装、常用命令和配置文件

(1)在linux系统中安装nginx

nginx相关依赖

a 安装pcre依赖

把安装压缩文件放到linux系统中

解压压缩文件

进入压缩文件之后目录,执行./configure

使用make && make install 编译并安装

安装之后,查看版本号 pcre-config --revision

b 安装其他的依赖 zlib openssl

yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel

c 安装nginx

把nginx安装文件放到linux系统中

解压压缩文件

进入解压之后目录,执行./configure

使用 make && make install

安装成功后,在/usr/local/nginx目录下有sbin启动脚本

d 查看开放的端口号

firewall-cmd --list-all

设置开放的端口号

firewall-cmd --add-service=http -permanent

sudo firewall-cmd --add-port=80/tcp --permanent

重启防火墙

firewall-cmd --reload

(2) nginx常用命令

1、使用nginx操作命令前提条件:必须进入nginx的目录

/usr/local/nginx/sbin

2、查看nginx的版本号

./nginx -v

3、启动nginx

./nginx

4、关闭nginx

./nginx -s stop

5、重新加载nginx

./nginx -s reload

(3)nginx配置文件

1、nginx配置文件路径

/usr/local/nginx/conf/nginx.config

2、nginx配置文件组成

(1)nginx配置文件有三部分组成
第一部分 全局块

从配置文件开始到 events 块之间的内容,主要会设置一些影响nginx服务器整体运行的配置指令

比如:worker_processes 1; 值越大,可以支持的并发处理量也越多

第二部分 events 块

events 块涉及的指令主要影响nginx服务器与用户的网络链接

比如 worker_connections 1024; 支持的最大链接数

第三部分 http 块

nginx 服务器配置中最频繁的部分

http 块也可以包括 http 全局块,server 块。

3、nginx配置实例 反向代理1

实现效果

在浏览器中输入www.123.com ,跳转到linux系统tomcat的主页面中

 

 

修改配置

第一步 配置本地hosts

第二步 修改配置

 

 

 

4、nginx配置实例 反向代理2

实现效果

访问 http:127.0.0.1:9001/edu/ 直接跳转到127.0.0.1:8080

访问 http:127.0.0.1:9001/vod/ 直接跳转到127.0.0.1:8081

修改配置

 

 

 

 

5、nginx配置实例 2-负载均衡

实现效果

浏览器输入地址http://123.com/edu/a.html,负载均衡效果,平均8080和8081端口中

修改配置

 

 

nginx几种负载均衡方式

1、轮询(默认)

每个请求按时间顺逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。

2、weight

weight 代表权重,默认为1,权重越高被分配的客户端越多

 

 

3、 ip_hash

每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。

 

 

4、fair(第三方)

按后端服务器响应时间来分配请求,响应时间短的优先分配。

 

 

6、nginx配置实例 3-动静分离

7、nginx配置高可用集群

8、nginx原理