文章目录

  • 一、nginx虚拟主机
  • 二、添加ssl
  • 三、权重与backup设置
  • 四、算法添加


一、nginx虚拟主机

构建nginx虚拟主机,可以使在访问同一台主机不同域名的时候访问不同的页面

vim /usr/local/nginx/conf/nginx.conf      %编辑配置文件添加相应设置

nginx 动态权重 nginx 权重配置_hash算法


nginx 动态权重 nginx 权重配置_hash算法_02


nginx 动态权重 nginx 权重配置_nginx 动态权重_03


nginx 动态权重 nginx 权重配置_hash算法_04


nginx 动态权重 nginx 权重配置_hash算法_05

二、添加ssl

vim /usr/local/nginx/conf/nginx.conf          %编辑配置文件
cd /etc/pki/tls/private/
make cert.pem               %创建证书与key的相关文件

nginx 动态权重 nginx 权重配置_nginx 动态权重_06


nginx 动态权重 nginx 权重配置_hash算法_07


nginx 动态权重 nginx 权重配置_配置文件_08


nginx 动态权重 nginx 权重配置_hash算法_09


nginx 动态权重 nginx 权重配置_hash算法_10


nginx 动态权重 nginx 权重配置_配置文件_11


nginx 动态权重 nginx 权重配置_nginx 动态权重_12


nginx 动态权重 nginx 权重配置_hash算法_13


nginx 动态权重 nginx 权重配置_hash算法_14

三、权重与backup设置

vim /usr/local/nginx/conf/nginx.conf          %编辑配置文件

nginx 动态权重 nginx 权重配置_配置文件_15


nginx 动态权重 nginx 权重配置_nginx_16

四、算法添加

添加ip_hash算法:

源地址不变,则后端调度不变,同一个ip过来的请求会发往同一个后端,不会改变

nginx 动态权重 nginx 权重配置_hash算法_17

客户访问nginx大致流程:client > cdn加速(反向代理机制)> nginx ip_hash 依照上述访问流程,nginx拿到的是cdn的ip地址,因此此时再加入ip_hash算法就不太合适了,因为nginx此时获得的ip可能不会发生变化,那么ip_hash算法也就失去了其意义,当用户直接访问server端时适合采用ip_hash算法

我们可以采用cookie的方式来解决这个问题:客户端通过浏览器访问server端,server会给每个客户端返回一个cookie,cookie值在浏览器中会缓存,只要不关闭网页或浏览器,这个cookie值会一直保存在缓存区域,之后的请求浏览器可以拿着这个cookie去请求,当server端识别到cookie值后会去匹配内存中的相关session,然后可以达到访问同一台后端的目的

我们使用另外一个模块来做这个实验:

nginx 动态权重 nginx 权重配置_配置文件_18


nginx 动态权重 nginx 权重配置_nginx 动态权重_19


nginx 动态权重 nginx 权重配置_nginx 动态权重_20


nginx 动态权重 nginx 权重配置_nginx_21


nginx 动态权重 nginx 权重配置_nginx 动态权重_22


编辑配置文件:

nginx 动态权重 nginx 权重配置_hash算法_23


nginx 动态权重 nginx 权重配置_配置文件_24


nginx 动态权重 nginx 权重配置_nginx_25


nginx 动态权重 nginx 权重配置_hash算法_26


nginx 动态权重 nginx 权重配置_nginx_27