Nginx网络代理

  • 正向代理(客户端):

    即代理客户端的访问,VPN就是典型的正向代理,正向代理中客户端是知道请求的目标的,而服务器不知道客户端是通过中间商访问的,它会认为是VPN的节点在访问。

  • 反向代理(服务端):

    当我们访问大型网站时,肯定不是所有人都访问一个服务器,比如访问百度,我们使用外网访问固定url:www.baidu.com,而内网会通过反向代理,将访问请求转发到各地的服务器,是用来代理服务端的访问。

负载均衡

根据服务器的情况进行分配,nginx负载均衡有两种策略:内置策略和扩展策略。

  • 内置策略

    • 轮询:均衡分配,一个一个来
    • 加权轮询:按自定义的权重比例进行分配
    • ip hash:对客户端url请求的ip进行hash,然后根据hash结果分配给对应的服务器,可解决session不共享的问题。
  • 外置策略:即自行设置算法分配

动静分离

42.png

相当于nginx对反向代理的实际应用,使用Nginx处理请求,动静分离节省服务器资源。

安装

官网自行下载linux版本

http://nginx.org/en/download.html

1
2
3
4
5
6
7
8
9
10
# 解压
tar -zxvf <压缩包>
# 进入解压文件,执行配置脚本
./configure
# 若出现nginx error可执行
yum -y install pcre-devel
yum -y install openssl openssl-devel
# 执行安装命令
make
make install

基础指令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
nginx version: nginx/1.20.1
Usage: nginx [-?hvVtTq] [-s signal] [-p prefix]
[-e filename] [-c filename] [-g directives]

Options:
-?,-h : this help
-v : show version and exit
-V : show version and configure options then exit
-t : test configuration and exit
-T : test configuration, dump it and exit
-q : suppress non-error messages during configuration testing
-s signal : send signal to a master process: stop, quit, reopen, reload
-p prefix : set prefix path (default: /usr/local/nginx/)
-e filename : set error log file (default: logs/error.log)
-c filename : set configuration file (default: conf/nginx.conf)
-g directives : set global directives out of configuration file