nginx介绍
nginx是一款使用C语言编写的高性能的HTTP和反向代理服务器。优点是占用内存小,并发能力强。
nginx下载、安装
输入以下代码下载安装包
1 | wget install http://nginx.org/download/nginx-1.22.1.tar.gz |
解压压缩包
1 | tar -zxvf nginx-1.22.1.tar.gz |
进入目录,赋予执行权限
1 | cd nginx-1.22.1 && chmod +x configure |
安装nginx所需要的一些环境
1 | c编译器 |
开始安装
1 | 开始安装 |
在本地输入IP地址+端口号(默认为80)看是否可以进入nginx主界面,如出现下图内容则说明配置成功。

nginx简单配置
反向代理
1 | server { |
以上为nginx.conf的配置文件,作用为将服务器能够访问的http://39.101.66.202:1080资源,反向代理给域名file.com端口为80。
负载均衡
轮询
1 | upstream test{ |
该配置的效果为,当用户访问8088端口时,nginx会将请求按照默认的轮询方式分配到80和9100端口上,进行转发跳转。
权重
1 | upstream test{ |
该配置的效果为,当用户访问8088端口时,会按照权重分配到80和9100端口。如果有5次请求,那么80端口会分配1次,9100端口会分配4次。
IP散列
1 | upstream test{ |
上述weight权重模式方式存在一个问题,在负载均衡系统中,假如用户在某台服务器上登录了,那么该用户第二次请求的时候,因为是负载均衡系统,每次请求都会重新定位到服务器集群中的某一个,那么已经登录某一个服务器的用户再重新定位到另一个服务器,其登录信息将会丢失,这样显然是不妥的。
采用ip_hash指令解决这个问题,如果客户已经访问了某个服务器,当用户再次访问时,会将该请求通过哈希算法,自动定位到该服务器。每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session不能跨服务器的问题。