linux之squid

什么是squid

【摘自百度百科】
Squid是一个高性能的代理缓存服务器,Squid支持FTP、gopher、HTTPS和HTTP协议。和一般的代理缓存软件不同,Squid用一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求。
Squid是一种用来缓冲Internet数据的软件。它是这样实现其功能的,接受来自人们需要下载的目标(object)的请求并适当地处理这些请求。也就是说,如果一个人想下载一web页面,他请求Squid为他取得这个页面。Squid随之连接到远程服务器(比如:http://squid.nlanr.net/)并向这个页面发出请求。然后,Squid显式地聚集数据到客户端机器,而且同时复制一份。当下一次有人需要同一页面时,Squid可以简单地从磁盘中读到它,那样数据迅即就会传输到客户机上。当前的Squid可以处理HTTP,FTP,GOPHER,SSL和WAIS等协议。但它不能处理如POP,NNTP,RealAudio以及其它类型的东西。

squid分类

1、正向解析
2、反向解析
【引用】
(1) 相同点
访问走向:客户端 -> 代理服务器 ->真实服务器 ->代理服务器->客户端
(2)不同点:
A ------>>>>B------>>>NET(C)
正向代理语义上更侧重于,客户端(A)让代理服务器(B)去帮忙访问某个网址。比如腾训QQ,新闻,体育,时尚等网站。
其特点是:
a、被访问的服务器(C)只知道是代理服务器(B)请求的,而不知道是你(A)请求的;
b、你(A)可以明确知道你要请求的真实服务器(C)
c、客户端(A)必须在浏览器设置代理服务器(B)的地址和端口。(设置之后,意思就是说只要在这个浏览器上输入的网址,统统都丢给代理服务器(B)去帮忙访问)

反向代理:客户端(A)只知道代理服务器(B)的地址,而不知道真实的服务器©的地址。客户端(A)只能被动的请求代理服务器(B),在由代理服务器去访问真实的服务器(C)。
其特点是:
a、客户端(A)请求一个地址(比如代理服务器(B)的地址),它并不知道这个地址是代理服务器(B)的地址还是真实的地址©
b、真实的地址©是由代理服务器(B)决定的。假设代理服务器(B)的地址为www.B.com,它配置的是代理到haha,那你看到的内容就是haha;改天它配置成了hehe,你一样输入www.B.com,看到的内容却是hehe。这些都不是客户端(A)能决定的。
c、客户端(A)不需要在浏览器设置代理服务器(B)。
(3)总结
正向代理,其真实服务器对客户端是明确的。你只是借助代理服务器让它帮忙去请求你想访问的那个地址。
一般的应用场景是:公司内部人员的计算机网络一般是私网,但是,为了公司人员可以访问到外网,只需要有一台计算机可以连到外网,那么,就可以将这台计算机作为代理服务器进行正向解析。
反向代理,其真实服务器对客户端是透明的。你永远不知道代理服务器访问的地址是代理服务器还是真实服务器。就比如直接访问www.baidu.com,有可能地方代理服务器内才能中没有这个数据,那么,他就要去真实服务器去获取,而他获取的速度远远小于客户机自己获取花费的时间,从而在某种意义上实现加速。
一般的应用场景是:大型公司为了会在全国各地安放代理服务器,一方面为了缓解总部服务器的访问压力,另一方面进行地方性解析速度更快,会少很多经过路由的过程,并且公司的服务器的传输速度差不多都是几千兆,我们平时用的网一般也就几十兆,就不得了了。

正向代理

需要三台计算机:
【C】:客户机 1.1.1.4(内网)
在这里插入图片描述
【S】:代理服务器 192.168.181.142(外网);1.1.1.2(内网)
在这里插入图片描述
【R】:真实服务器 192.168.181.136(外网)
在这里插入图片描述
将Squid服务在【S】这台虚拟机上进行搭建:
yum install squid -y
在这里插入图片描述
在这里插入图片描述
编辑主配置文件
vim /etc/squid/squid.conf

 52 http_access allow localnet
 53 http_access allow localhost
 54 
 55 # And finally deny all other access to this proxy
 56 http_access allow all  //允许所有访问
 57 
 58 # Squid normally listens to port 3128
 59 http_port 3128  //端口为3128
 60 
 61 # Uncomment and adjust the following to add a disk cache directory.
 62 cache_dir ufs /var/spool/squid 100 16 256

在这里插入图片描述

systemctl start squid            ##开启squid服务
cd /var/spool/squid
ls                              
##可以看到生成了很多的目录,而这些目录存在的意义就是高速缓存

在这里插入图片描述
在客户端的浏览器设置:
Edit---->Preferences---->Network—>Settings---->Manual proxy configuration
勾选:Use this proxy server for all protocols
浏览器填写HTTP Proxy:能够上网的ip
Port:3128(查看主配置文件)
先在代理服务器上访问
在这里插入图片描述
在客户机上访问:
在这里插入图片描述
在这里插入图片描述
测试
在这里插入图片描述
总结:可以看到在客户机上,没有外网的时候访问网易官网成功;
其中当客户机发起请求的时候,是用的代理服务器192.168.181.142,将请求发送给192.168.181.142代理服务器,代理服务器发起请求,将请求到的结果缓存至自己本地,客户端请求到的结果是代理服务器缓存在本地的内容;

反向代理

反向代理是作为服务器端(如Web服务器)的代理使用,而不是客户端。客户端借由前向代理可以间接访问很多不同互联网服务器(簇)的资源,而反向代理是供很多客户端都通过它间接访问不同后端服务器上的资源,而不需要知道这些后端服务器的存在,而以为所有资源都来自于这个反向代理服务器。

与正向解析不同的是,反向解析访问的网络端口是80,因此,在正向解析的基础上,我们需要改变【S】端squid的配置文件以及【C】端浏览器的文件的http端口

【S】端:vim /etc/squid/squid.conf ##将squid的端口由3128改为80
在这里插入图片描述
在这里插入图片描述
重启服务:
在这里插入图片描述

论坛部署(LMP)

下载四个软件
1.lftp #lftp 172.25.254.250,进去下载
2.mariadb-service
3.php
4.php-mysql

安装数据库
1.yum install mariadb-server -y
2.systemctl start mariadb
3.vim /etc/my.cnf
skip-networking=1
:wq
4.mysql_secure_installation #设置密码

在这里插入图片描述
在这里插入图片描述
安装php
yum install php-y

安装php-mysql
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
关闭selinux
setenforce 0
chmod 777 /var/www/html/upload/config/ -R
chmod 777 /var/www/html/upload/data/ -R
chmod 777 /var/www/html/upload/uc_*/ -R
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值