当前位置:   article > 正文

squid适配银河麒麟v10_麒麟怎么安装squid服务

麒麟怎么安装squid服务

squid安装

xshell登录

1.使用创建的用户登录
在这里插入图片描述
2.登录后切换到root账户:

sudo su
  • 1

输入当前用户密码

关闭防护墙

systemctl stop firewalld
systemctl disable firewalld
Setenforce 0
  • 1
  • 2
  • 3

安装依赖环境

查看当前有无依赖

gcc --version
make -version
  • 1
  • 2

有就不用安装

#yum -y install gcc gcc-c++ make
apt-get -y install  make
  • 1
  • 2

编译安装Squid

上传软件包squid-3.5.28.tar到/opt目录下
1.解压缩

cd /opt
tar zxvf squid-3.5.28.tar.gz
  • 1
  • 2

2.编译

cd squid-3.5.28/

./configure --prefix=/usr/local/squid \
--sysconfdir=/etc \
--enable-arp-acl \
--enable-linux-netfilter \
--enable-linux-tproxy \
--enable-async-io=100 \
--enable-err-language="Simplify_Chinese" \
--enable-underscore \
--enable-poll \
--enable-gnuregex \
--disable-internal-dns 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

3.make编译安装

make -j2 && make install
  • 1

在这里插入图片描述

命令作用
./configure-prefix=/usr/local/squid安装目录
–sysconfdir=/etc/单独将配置文件修改到/etc目录下
–enable-arp-acl可在ACL中设置通过MAC地址进行管理,防止IP欺骗
–enable-linux-netfilter使用内核过滤
–enable-linux-tproxy支持透明模式
–enable-async-io=100异步I/O,提升储存性能,值可修改
–enable-err-language=“Simplify Chinese”错误信息的显示语言
–enable-underscore允许URL中有下划线
–enable-poll使用Poll()模式,提升性能
–enable-gnuregex使用GNU正则表达式
make -j2 && make install使用2核进行编译

创建软连接及用户,改组

命令作用
ln -s /usr/local/squid/sbin/* /usr/local/sbin创建链接文件,优化路径
useradd -M -s /sbin/nologin squid创建程序用户、组
chown -R squid:squid /usr/local/squid/var/改变目录属主
ln -s /usr/local/squid/sbin/* /usr/local/sbin
useradd -M -s /sbin/nologin squid
chown -R squid:squid /usr/local/squid/var/
  • 1
  • 2
  • 3

修改Squid的配置文件

命令作用
http_access allow all放在http_access deny all之前,允许任意客户机使用代理服务,控制规则自,上而下匹配
http_port 3128用来指定代理服务监听的地址和端口(默认的端口号为3128)
cache_effective_user squid添加,指定程序用户,用来设置初始化、运行时缓存的账号,否则启动不成功
cache_effective_group squid添加,指定账号基本组
coredump_dir /usr/local/squid/var/cache/squid指定缓存文件目录
vim /etc/squid.conf 
-56--插入
http_access allow all
http_access deny all

http_port 3128			
cache_effective_user squid
cache_effective_group squid

68行
coredump_dir /usr/local/squid/var/cache/squid
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

在这里插入图片描述

squid检查启动

命令作用
squid -k parse检查配置文件
squid -k rec重新加载配置文件
squid -z初始化缓存目录
squid启动squid服务

netstat -anpt | grep squid ##确认squid服务处于正常监听状态

squid -k parse
squid -k rec
squid -z
squid
netstat -anpt | grep squid
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述
在这里插入图片描述

编写Squid服务脚本

vim /etc/init.d/squid
#!/bin/bash
#chkconfig: 35 90 25
#config:/etc/squid.conf
#pidfile:/usr/local/squid/var/run/squid.pid
# Description: Squid - Internet Object Cache
PID="/usr/local/squid/var/run/squid.pid"
CONF="/etc/squid.conf"
CMD="/usr/local/squid/sbin/squid"
case "$1" in
   start)
     netstat -natp | grep squid &> /dev/null
     if [ $? -eq 0 ]
     then
       echo "squid is running"
       else
       echo "正在启动 squid..."
       $CMD
     fi
   ;;
   stop)
     $CMD -k kill &> /dev/null
     rm -rf $PID &> /dev/null
   ;;
   status)
     [ -f $PID ] &> /dev/null
        if [ $? -eq 0 ]
          then
            netstat -natp | grep squid
          else
            echo "squid is not running"
        fi
  ;;
restart)
	$0 stop &>/dev/null
	  echo "正在关闭Squid.. . "
	$0 start &>/dev/null
	  echo "正在启动Squid..."
    ;;
reload)
	$CMD -k reconfigure
    ;;
check)
	$CMD -k parse
    ;;
*)
echo "用法:{start|stop|restart|reload|check|status}"
esac
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48

服务启动,检查

chmod +x /etc/init.d/squid
chkconfig --add squid
chkconfig squid on
service squid restart	 ##测试正常
  • 1
  • 2
  • 3
  • 4

配置反向代理

注意:(一台squid代理多个后端web,并使用不同域名访问不同的IP)

开启防火墙、本地关闭HTTPD

systemctl stop firewalld
systemctl stop httpd
iptables -F
iptables -t nat -F
iptables -I INPUT -p tcp --dport 3128 -j ACCEPT

修改squid配置文件

vim /etc/squid.conf
56--修改,插入-------
no_cache deny all
http_access allow all
http_access deny all

61--修改,插入-------
# Squid normally listens to port 3128
#http_port 3128
http_port 80 accel vhost vport
http_port squidip:80 accel vhost vport
cache_peer 后端webIP parent 后端web端口 0 no-query originserver round-robin name=web1
cache_peer 后端webIP parent 后端web端口 0 no-query originserver round-robin name=web2

cache_peer_domain web1 www.ceshiweb.com
cache_peer_domain web2 www.sunkai.com

cache_effective_user squid
cache_effective_group squid

cache_mem 64 MB
reply_body_max_size 10 MB
maximum_object_size 4096 KB
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

注意:一台squid配置多台web转发的配置如上

反向代理加速模式,这个时候squid在80端口监听请求,同时和web server的请求端口(vhostvport)绑定,这个时候请求到了squid, squid是不用转发请求的,而是直接要么从缓存中拿数据要么向绑定的端口直接请求数据。

代码解释

代码说明
accel反向代理加速模式
vhost支持域名或主机名来表示代理节点
vport支持IP和端口来表示代理节点
parent代表为父节点,上下关系,非平级关系
80代理内部web服务器的80端口
0没有使用icp,表示就一台squid服务器
no-query不做查询操作,直接获取数据
oriqinserver指定是源服务器
round-robin指定squid通过轮询方式将请求分发到其中一台父节点
name设置别名
http_port 80 accel vhost vportsquid从一个缓存变成了一个Web服务器

启动squid服务

squid -z 
systemctl stop httpd
service squid restart
  • 1
  • 2
  • 3

谷歌浏览器设置代理

设置–》系统–》打开代理设置–》设置代理
在这里插入图片描述

设置squid代理,查看日志文件中来访IP变化

注意:(1)先清除客户端的浏览器缓存
(2)手动设置代理–开启使用代理服务器–设置代理地址和端口–保存
(3)再次访问web服务器,查看日志文件的变化;这时显示的来访IP变成了squid代理服务器地址
代理ip为squid服务器ip。 端口号是squid.conf文件定义的80端口

在windows上配置地址映射

进入C:\Windows\System32\drivers\etc\hosts
在最后一行添加squid 的ip和域名

squidip www.ceshiweb.com
squidip www.sunkai.com

注意要给予hosts文件完全权限

squid服务器查看访问日志信息

tail -f /usr/local/squid/var/logs/access.log

web1服务器查看访问日志信息

tail -f /var/log/httpd/access_log

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号