部署nginx反向代理、代理缓存服务器和负载均衡

部署nginx反向代理、代理缓存服务器和负载均衡


1、部署Nginx反向代理;

2、部署nginx代理缓存服务器,并验证缓存是否生效;

 
3、部署nginx负载均衡配置,并通过实验验证其作用; 
 

一、部署Nginx 反向代理

172.20.26.167  代理服务器,安装nginx、关闭selinux、防火墙等服务;

172.20.26.198  后端服务器,安装nginx、关闭selinux、防火墙等服务;

172.20.26.140  客户端,关闭selinux、防火墙等服务;

1、在172.20.26.167代理服务器上

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf

proxy_pass http://172.20.26.198;

[root@localhost ~]# nginx -s reload

2、在172.20.26.198  后端服务器上yum安装nginx

yum install epel-release -y

yum install nginx -y

echo "this is 26.198 page" > /usr/share/nginx/html/index.html

systemctl restart nginx

3、在172.20.26.140客户端先访问后端服务器,确保直接访问是否有问题?还是代理服务器有问题?

[root@Nginx ~]# curl 172.20.26.198

this is 26.198 page

4、再通过172.20.26.167代理服务器访问,通过v1.jfedu.net域名访问

[root@Nginx ~]# curl 172.20.26.167

this is 26.198 page

[root@Nginx ~]# curl v1.jfedu.net

this is 26.198 page

5、在172.20.26.198  后端服务器上查看访问日志

 [root@localhost ~]# tailf /var/log/nginx/access.log

[root@localhost ~]# > /var/log/nginx/access.log    清空/var/log/nginx/access.log 日志

6、获取远程客户端真实ip地址

后端服务器的访问日志中记录的是代理服务器IP,这样不利于分析用户行为,需要把用户访问的IP地址信息传到后端服务器,获取真实的用户IP地址:

在172.20.26.167代理服务器上

[root@bogon ~]# vim /usr/local/nginx/conf/nginx.conf

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

[root@bogon ~]# nginx -s reload

在172.20.26.198后端服务器上

[root@localhost ~]# vim /etc/nginx/nginx.conf

在日志格式中将远程用户IP地址放在首位

$http_x_real_ip

[root@localhost ~]# systemctl restart nginx

在172.20.26.140客户端再次访问代理服务器v1.jfedu.net 、172.20.26.167

在后端服务器上查询访问日志,即可清晰看到用户IP地址信息

[root@localhost ~]# tailf /var/log/nginx/access.log

可以使用awk 取出用户IP地址

[root@Nginx ~]# awk '{print $1}' /var/log/nginx/access.log

二、部署nginx代理缓存服务器,并验证缓存是否生效; 

(1)在172.20.26.167代理服务器上

创建cache目录

[root@localhost ~]# mkdir -p /data/nginx/cache

[root@localhost ~]# ls /data/nginx/cache

修改nginx.conf文件,

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf

放在http指令块,不能放在server 里面

proxy_cache_path /data/nginx/cache max_size=10g levels=1:2 keys_zone=nginx_cache:10m inactive=10m use_temp_path=off;

proxy_cache nginx_cache;

proxy_cache_key $host$uri$is_args$args;

proxy_cache_valid 200 304 302 1d;

[root@bogon ~]# nginx -s reload

(2)在172.20.26.140客户端上访问代理服务器172.20.26.167 或者 v1.jfedu.net

回到代理服务器上查询缓存情况

[root@bogon ~]# ls /data/nginx/cache

cat /data/nginx/cache 可以查看当前访问的信息

(注:levels=1:2 解释及修改、测试:

1:2为16的3次方,2:2就是16的4次方,最多可以创建3级目录2:2:2 ,即为16的6次方

[root@bogon ~]# vim /usr/local/nginx/conf/nginx.conf

将levels=1:2 改为levels=2:2:2    保存退出        

[root@bogon ~]# nginx -s reload  

在172.20.26.140客户端访问提示如下:

[root@bogon ~]# nginx -s stop  将nginx服务停止

[root@bogon ~]# /usr/local/nginx/sbin/nginx  重新启动nginx服务

在172.20.26.140客户端访问172.20.26.167 代理服务器

回到172.20.26.167代理服务器上查看缓存

[root@bogon ~]# ls /data/nginx/cache/

levels=2:2:2测试完成。

(3)在172.20.26.198后端服务器上修改访问内容

[root@localhost ~]# vim  /usr/share/nginx/html/index.html

保存退出

在172.20.26.140客户端上访问curl 172.20.26.167,依然是不带new的内容

在172.20.26.167代理服务器上清空缓存,并查看缓存为空

[root@bogon ~]# rm -rf /data/nginx/cache/*

在172.20.26.140客户端上访问curl 172.20.26.167,访问到了带new的内容

在172.20.26.167代理服务器上查看缓存,发现已生成带new的缓存内容

三、部署nginx负载均衡配置,并通过实验验证其作用;

代理服务器:172.20.26.167

后端服务器:172.20.26.198

后端服务器:172.20.26.140

  1. 在后端服务器172.20.26.140上yum 安装nginx

[root@Nginx ~]# yum install nginx –y

(2)代理服务器:172.20.26.167

[root@bogon ~]# vim /usr/local/nginx/conf/nginx.conf

将代理缓存关闭

将代理的IP去掉,用一个模块web替代

再用upstream 来定义这个均衡池

保存退出,重载服务

[root@bogon ~]# nginx -s reload

轮询方式

[root@bogon ~]# while true;do curl 172.20.26.167;sleep 2;done

轮询加权重

在172.20.26.167代理服务器上

[root@bogon ~]# vim /usr/local/nginx/conf/nginx.conf

保存退出,重载服务

[root@bogon ~]# nginx -s reload

[root@bogon ~]# while true;do curl 172.20.26.167;sleep 1;done

访问3次172.20.26.198服务器,访问1次172.20.26.140服务器,轮询加权重访问方式。

3、通过nginx将本地镜像软件包发布出去,并实现后端两台服务器均衡;

代理服务器:172.20.26.167

后端服务器:172.20.26.198

后端服务器:172.20.26.24

在后端服务器172.20.26.198上, 挂载本地镜像Centos7

[root@localhost ~]# mount /dev/cdrom /usr/share/nginx/html/

[root@localhost ~]# ls /usr/share/nginx/html/

在location / {上面添加autoindex on;

[root@localhost ~]# systemctl restart nginx

在浏览器中输入172.20.26.24 即可查看挂载的镜像文件内容

在172.20.26.24后端服务器

挂载本地镜像Centos7

[root@Nginx ~]# mount /dev/cdrom /usr/local/nginx/html/

[root@Nginx ~]# ls /usr/local/nginx/html/

[root@Nginx ~]# vim /usr/local/nginx/conf/nginx.conf

在location / {里面添加autoindex on;

[root@bogon ~]# nginx -s reload

在浏览器中输入172.20.26.24 即可查看挂载的镜像文件内容

回到172.20.26.167代理服务器上检查nginx.conf 有没有问题

[root@bogon ~]# vim /usr/local/nginx/conf/nginx.conf

保存退出

[root@bogon ~]# nginx -s reload

在浏览器中输入172.20.26.167 即可查看后端服务器发布的镜像文件内容

我们可以将172.20.26.198后端服务器的nginx 服务停止,访问172.20.26.167没有影响

我们可以将172.20.26.24后端服务器的nginx 服务也停止,172.20.26.167将无法访问

到此,通过nginx将本地镜像软件包发布出去,并实现后端两台服务器均衡的实验完成。

  • 35
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lqcbj_IT老混混

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值