部署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

部署nginx反向代理、代理缓存服务器和负载均衡_第1张图片

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

部署nginx反向代理、代理缓存服务器和负载均衡_第2张图片

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

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

部署nginx反向代理、代理缓存服务器和负载均衡_第3张图片

[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;

部署nginx反向代理、代理缓存服务器和负载均衡_第4张图片

[root@bogon ~]# nginx -s reload

在172.20.26.198后端服务器上

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

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

$http_x_real_ip

部署nginx反向代理、代理缓存服务器和负载均衡_第5张图片

[root@localhost ~]# systemctl restart nginx

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

部署nginx反向代理、代理缓存服务器和负载均衡_第6张图片

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

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

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

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

部署nginx反向代理、代理缓存服务器和负载均衡_第7张图片

二、部署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;

部署nginx反向代理、代理缓存服务器和负载均衡_第8张图片

[root@bogon ~]# nginx -s reload

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

部署nginx反向代理、代理缓存服务器和负载均衡_第9张图片

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

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

部署nginx反向代理、代理缓存服务器和负载均衡_第10张图片

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

部署nginx反向代理、代理缓存服务器和负载均衡_第11张图片

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

部署nginx反向代理、代理缓存服务器和负载均衡_第12张图片

部署nginx反向代理、代理缓存服务器和负载均衡_第13张图片

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    保存退出        

部署nginx反向代理、代理缓存服务器和负载均衡_第14张图片

[root@bogon ~]# nginx -s reload  

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

部署nginx反向代理、代理缓存服务器和负载均衡_第15张图片

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

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

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

部署nginx反向代理、代理缓存服务器和负载均衡_第16张图片

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

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

部署nginx反向代理、代理缓存服务器和负载均衡_第17张图片

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

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

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

部署nginx反向代理、代理缓存服务器和负载均衡_第18张图片

保存退出

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

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

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

部署nginx反向代理、代理缓存服务器和负载均衡_第19张图片

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

部署nginx反向代理、代理缓存服务器和负载均衡_第20张图片

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

部署nginx反向代理、代理缓存服务器和负载均衡_第21张图片

三、部署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 来定义这个均衡池

部署nginx反向代理、代理缓存服务器和负载均衡_第22张图片

保存退出,重载服务

[root@bogon ~]# nginx -s reload

轮询方式

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

部署nginx反向代理、代理缓存服务器和负载均衡_第23张图片

轮询加权重

在172.20.26.167代理服务器上

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

部署nginx反向代理、代理缓存服务器和负载均衡_第24张图片

保存退出,重载服务

[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服务器,轮询加权重访问方式。

部署nginx反向代理、代理缓存服务器和负载均衡_第25张图片

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/

部署nginx反向代理、代理缓存服务器和负载均衡_第26张图片

在location / {上面添加autoindex on;

部署nginx反向代理、代理缓存服务器和负载均衡_第27张图片

[root@localhost ~]# systemctl restart nginx

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

部署nginx反向代理、代理缓存服务器和负载均衡_第28张图片

在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;

部署nginx反向代理、代理缓存服务器和负载均衡_第29张图片

[root@bogon ~]# nginx -s reload

部署nginx反向代理、代理缓存服务器和负载均衡_第30张图片

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

部署nginx反向代理、代理缓存服务器和负载均衡_第31张图片

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

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

保存退出

[root@bogon ~]# nginx -s reload

部署nginx反向代理、代理缓存服务器和负载均衡_第32张图片

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

部署nginx反向代理、代理缓存服务器和负载均衡_第33张图片

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

部署nginx反向代理、代理缓存服务器和负载均衡_第34张图片

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

部署nginx反向代理、代理缓存服务器和负载均衡_第35张图片

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

你可能感兴趣的:(Nginx,nginx,缓存,服务器)