笺注:
Squid服务器的IP为192.168.168.154
后台服务器的IP为192.168.168.130
Squid服务器的系统版本:
安装squid:
[root@centos8 ~]# yum -y install squid
[root@centos8 ~]# squid -v
Squid Cache: Version 4.4
启动squid:
[root@centos8 ~]# systemctl start squid
[root@centos8 ~]# systemctl enable squid
Squid的主配置文件
[root@centos8 ~]# vi /etc/squid/squid.conf
文件开头插入:
http_port 80 vhost vport
接着插入站点信息:(后台站点IP为192.168.168.130,端口为TCP 80)
cache_peer 192.168.168.130 parent 80 0 originserver
插入: httpd_suppress_version_string on
修改: http_access allow all
修改: http_port 80
保存文件后,重启Squid服务:
[root@centos8 ~]# systemctl restart squid
防火墙配置:
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
关闭SELinux:(默认是开启的,要关闭)
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
先确定后台服务器的站点可以正常访问:
访问代理服务器的IP就等于服务后台服务器的IP:(也就是说访问代理服务器的Web就等于访问后台服务器的Web)
笺注:后台站点服务器无需为代理服务器做任何额外操作。
######
此时是代理服务器没有缓存的
代理服务器开启缓存功能:
[root@centos8 ~]# vi /etc/squid/squid.conf
http_port 下面插入:
cache_mem 500 MB # 额外提供给Squid使用的内存,推荐大小为物理内存的1/2或更多。
maximum_object_size 4 MB # 设置Squid磁盘缓存最大文件,超过4MB的文件不保存到硬盘。
minimum_object_size 0 KB # 设置Squid磁盘缓存最小文件。
maximum_object_size_in_memory 4096 KB # 设置Squid内存缓存最大文件,超过4MB的文件不保存到内存。
cache_dir ufs /var/spool/squid 500 16 256 # 自定义Squid的cache存放路径、cache目录容量(不得小于cache_mem)、一级缓存目录数量、二级缓存目录数量。
保存文件后,重启squid服务:
[root@centos8 ~]# systemctl restart squid
当客户端访问Squid服务器时,Squid服务器会产生缓存文件
备注:
/var/spool/squid/ 下的缓存文件是可以删除的,但删除后,必须要重启squid服务!!!
重启squid服务后,代理服务器的代理功能才能正常使用,并且缓存文件会自动重新生成。
笺注:
1、后台站点的对应文件内容没有更新,代理服务器就不用更新缓存,直接把缓存的内容发给客户端;
2、假如后台站点的对应文件内容更新了,代理服务器会重新从后台服务器提取信息给客户端。
3、实验中,后台站点的对应文件内容更新后,客户端可以马上看到新的内容,没有出现更新延迟。
######
假如要想把Squid的访问端口修改为TCP 88
Squid的主配置文件
[root@centos8 ~]# vi /etc/squid/squid.conf
修改:
插入:
修改:
保存文件后,重启squid服务:
[root@centos8 ~]# systemctl restart squid
防火墙配置:
firewall-cmd --zone=public --add-port=88/tcp --permanent
firewall-cmd --reload
效果:(访问代理服务器时,要加上端口号)
备注:无需去修改后台站点服务器。
相关文章:
CentOS8_Squid反向代理+轮询(一)
Squid反向代理+缓存 |