码迷,mamicode.com
首页 > Web开发 > 详细

高级运维(一):反向代理&使用Varnish加速Web

时间:2018-01-03 22:32:19      阅读:336      评论:0      收藏:0      [点我收藏+]

标签:高级运维   strong   netstat   style   tcp   www.   搭建   手动   端口号   

案例1、反向代理

     目标:

1、代理服务器可以将远程的Web服务器页面缓存于本地

2、代理服务器端口设置为80端口

3、用户通过访问代理服务器即可获得远程Web服务器页面上的内容

4、远程Web服务器对客户端用户是透明的

5、利用缓存机制提高网站响应速度

     方案:

使用3台RHEL7虚拟机,一台作为Squid代理服务器,需要配置两个网卡(连接不同网段),地址分别为192.168.4.5、192.168.2.5。一台作为客户端测试主机,IP地址为192.168.4.100。一台作为Web服务器,IP地址为192.168.2.100,该服务器为代理服务器提供Web服务数据源。

IP配置&网络拓扑结构如下:

技术分享图片技术分享图片

 

     步骤:

创建3台虚拟机--->3台虚拟机分别为Client(客户端)、Proxy(代理服务器)、Web1(服务器)--->3台虚拟机分别配置IP、搭建yum仓库、设置自动挂载、修改登录密码(简化密码)

Web服务器的搭建:

yum安装httpd,提供Web服务:  yum -y install httpd

启动httpd服务,设置开机自启:  systemctrl restart httpd;systemctrl enable httpd

查看端口号80的状态(httpd默认通过80端口提供服务):  netstat -antpu |grep 80    

创建Web服务器测试文件:echo “Hello the world”  > /var/www/html/index.html

Squid代理服务器的部署:

yum安装Squid,提供代理服务:  yum -y install Squid

1>修改配置文件/etc/squid/squid.conf       :set nu 设置行号

...........

56 http_access allow all       允许本机所有主机使用代理服务器

59 http_port 80 vhost         设置反向代理,端口号80

60 visible_hostname www.sina.com     设置主机名,默认没有该行,需要手动添加,主机名可以自行设置

61 cache_peer 192.168.2.11 parent 80 0 originserver    定义后端真实服务器信息,80是httpd端口号,0本来是要icmp端口号,这里不用,但为保持格式必须写0

64 cache_dir ufs /var/spool/squid 100 16 256      取消注释使生效,硬盘缓存,缓存为100M,自动创建16个1级子目录和256个2级子目录

2>启动Squid服务、设置为开机启动:systemctrl restart squid; ystemctrl enable squid

3>查看端口号80状态查看服务是否启动,squid服务默认是通过TCP 80端口侦听客户端请求:  netstat -antpu |grep 80  

客户端测试:

[root@客户端 ~]# curl http://192.168.4.5      访问代理服务器地址页面,测试是否成功搭建了squid代理服务器

[root@客户端 ~]# curl -I http://192.168.4.5     可以查看页面详细信息,如果不是第一次访问,会显示HIT缓存命中,如果是第一次访问,会显示MISS没有缓存,但下次再访问就会命中

案例2、使用Varnish加速Web

     目标:

1、使用Varnish加速后端的Apache Web服务

2、使用Varnishadm命令管理缓存页面

3、使用Varnishstat命令查看Varnish状态

     方案:

通过源码编译安装Varnish缓存服务器

1、编译安装Varnish软件

2、复制启动脚本与配置文件

修改配置文件,缓存代理源Web服务器,实现Web加速功能

使用3台RHEL7虚拟机,其中一台作为Web服务器(192.168.2.100)、一台作为Varnish代理服务器(192.168.4.5,192.168.2.5),另外一台作为测试用的Linux客户机(192.168.2.100)

技术分享图片

对于Web服务器的部署,此实验中仅需要安装httpd软件、启动服务,并生成测试首页文件即可,默认httpd网站根路径为/var/www/html,首页文档名称为index.html。

     步骤:

创建3台虚拟机--->3台虚拟机分别为Client(客户端)、Proxy(代理服务器)、Web1(服务器)--->3台虚拟机分别配置IP、搭建yum仓库、设置自动挂载、修改登录密码(简化密码)

Web服务器的搭建:

yum安装httpd,提供Web服务:  yum -y install httpd

启动httpd服务,设置开机自启:  systemctrl restart httpd;systemctrl enable httpd

查看端口号80的状态(httpd默认通过80端口提供服务):  netstat -antpu |grep 80    

创建Web服务器测试文件:echo “Hello the world”  > /var/www/html/index.html

Varnish代理服务器的部署:

配置文件:

/etc/sysconfig/varnish       [前端客户端访问端配置文件]

/etc/varnish/default.vcl      [后端服务端提供端配置文件]

前端文件:(黑色为改正后的文件,青色为原参考文件)

66 VARNISH_LISTEN_PORT=80      #VARNISH侦听端口号80

89 VARNISH_STORAGE_SIZE=64M     #后面更改了缓存储存在内存里,储存在内存里,可以加快响应速度,这里适当将缓存大小调整,依据内存大小来定

92 VARNISH_STORAGE="malloc,${VARNISH_STORAGE_SIZE}"   #将缓存该为内存存储

69 VARNISH_ADMIN_LISTEN_ADDRESS=127.0.0.1     #本机循环IP地址

70 VARNISH_ADMIN_LISTEN_PORT=6082        #本机管理员端口号

85 VARNISH_STORAGE_FILE=/var/lib/varnish/varnish_storage.bin    #VARNISH缓存为文件格式时缓存位置,位与硬盘上

89 VARNISH_STORAGE_SIZE=1G     #VARNISH为文件格式存储在硬盘上时,默认缓存大小为1G

92 VARNISH_STORAGE="file,${VARNISH_STORAGE_FILE},${VARNISH_STORAGE_SIZE}"    #VARNISH定义为文件格式储存,缓存在硬盘上

 

 

 

客户端测试:

[root@客户端 ~]# curl http://192.168.4.5      访问代理服务器地址页面,测试是否成功搭建了squid代理服务器

[root@客户端 ~]# curl -I http://192.168.4.5     可以查看页面详细信息,如果不是第一次访问,会显示HIT缓存命中,如果是第一次访问,会显示MISS没有缓存,但下次再访问就会命中

 

高级运维(一):反向代理&使用Varnish加速Web

标签:高级运维   strong   netstat   style   tcp   www.   搭建   手动   端口号   

原文地址:https://www.cnblogs.com/baichuanhuihai/p/8185736.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!