Nginx介绍
Nginx是一个高性能的HTTP和反向代理服务器,特点是占用内存小,并发能力强,在Linux操作系统下,nginx使用epoll事件模型,得益于此,nginx在Linux操作系统下效率相当高。
Nginx的作用
-
反向代理
-
负载均衡
-
动静分离
Win10下载
-
下载链接:Nginx下载地址
-
安装包选择
-
安装目录使用中文路径!!
-
在安装目录输入cmd命令启动
-
打开
nginx.exe
-
浏览器localhost或localhost:80检查是否启动成功
Linux下载(本人使用Ubuntu20.04,其他版本也没问题)
-
安装包选择
-
解压:
tar -zxvf nginx-1.20.1
-
执行configure文件:
./configure
,生成makefile文件 -
出现错误:
error: the HTTP rewrite module requires the PCRE library
-
需要安装pcre包。
sudo apt-get update
sudo apt-get install libpcre3 libpcre3-dev
你可能还需要安装
sudo apt-get install openssl libssl-dev
-
执行
make
-
全部安装:
-
执行
make install
-
安装目录:
/usr/local/nginx
-
常用命令:
负载均衡常用算法
-
轮询模式(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。适合服务器配置相当,无状态且短平快的服务使用。也适用于图片服务器集群和纯静态页面服务器集群。
-
weight权重模式
这种方式比较灵活,当后端服务器性能存在差异的时候,通过配置权重,可以让服务器的性能得到充分发挥,有效利用资源。weight和访问比率成正比,用于后端服务器性能不均的情况。权重越高,在被访问的概率越大。 -
ip_hash
上述weight权重模式方式存在一个问题,在负载均衡系统中,假如用户在某台服务器上登录了,那么该用户第二次请求的时候,因为我们是负载均衡系统,每次请求都会重新定位到服务器集群中的某一个,那么已经登录某一个服务器的用户再重新定位到另一个服务器,其登录信息将会丢失,这样显然是不妥的。
可以采用ip_hash指令解决这个问题,如果客户已经访问了某个服务器,当用户再次访问时,会将该请求通过哈希算法,自动定位到该服务器。
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session不能跨服务器的问题。