设为首页 收藏本站
查看: 1299|回复: 0

[经验分享] CentOS 5.8部署web缓存服务器(squid+memcached)

[复制链接]

尚未签到

发表于 2018-12-25 06:46:42 | 显示全部楼层 |阅读模式
  一、squid及web缓存介绍

    Squid是一种用来缓冲Internet数据的软件。它是这样实现其功能的,接受来自人们需要下载的目标(object的请求并适当地处理这些请求。也就是说,如果一个人想下载一web页面,他请求Squid为他取得这个页面。Squid随之连接到远程服务器(比如:http://squid.nlanr.net/)并向这个页面发出请求。然后,Squid将web端得到的数据转发给客户端机器,而且同时复制一份,当下一次有人需要同一页面时,Squid可以简单地从磁盘中读到它,那样数据迅即就会传输到客户机上。当前的Squid可以处理HTTP,FTP,GOPHER,SSL和WAIS等协议。但它不能处理如POP,NNTP,RealAudio以及其它类型的东西。

    cache命中在squid每次从它的缓存里满足HTTP请求时发生。cache命中率,是所有HTTP请求中命中的比例。Web缓存典型的cache命中率在30%到60%之间。另一个相似的度量单位叫做字节命中率,描绘了cache提供服务的数据容量(字节数)。

    cache丢失在squid不能从它的缓存里满足HTTP请求时发生。cache丢失的理由有很多种。最明显的,当squid第一次接受到对特殊资源的请求时,就是一个cache丢失。类似的情况是,squid会清除缓存以释放空间给新对象。另外的可能是资源不可到达。原始服务器会指示cache怎样处理响应。例如,它会提示数据不能被缓存,或在有限的时间内才被重复使用,等等。

    cache确认保证squid不对用户返回过时数据。在重复使用缓存对象时,squid经常从原始服务器确认它。假如服务器指示squid的拷贝仍然有效,数据就发送出去。否则,squid升级它的缓存拷贝,并且转发给客户。

二、系统环境
  两台web缓存服务器安装CentOS 5.8+squid+memcached,分别命名为squid_cache1和squid_cache2。Squid对于后端的web服务器没有要求,可以是IIS,也可以是apache或是其他的。缓存前端可以有一层负载均衡,如果是LVS的话,那么两台缓存服务器都需要绑定VIP。

Squid_cache1:

Ip:192.168.0.149

子网掩码:255.255.255.0

默认网关:192.168.0.1

Squid_cache2:

Ip:192.168.0.150

子网掩码:255.255.255.0

默认网关:192.168.0.1


三、安装前的准备工作

1、关闭SELinux

查看SELinux的状态

getenforce

如果是开启状态,则

vi /etc/selinux/config


  • SELINUX=disabled     #修改
  • #SELINUXTYPE=targeted  #注释掉

重启系统

reboot

2.优化内核参数

vi /etc/sysctl.conf   # 编辑sysctl.conf文件添加以下内容


  • net.ipv4.tcp_rmem = 4096 87380 4194304
  • net.ipv4.tcp_wmem = 4096 65536 4194304
  • net.core.wmem_default = 8388608
  • net.core.rmem_default = 8388608
  • net.core.rmem_max = 16777216
  • net.core.wmem_max = 16777216
  • net.core.netdev_max_backlog = 262144
  • net.core.somaxconn = 262144
  • net.ipv4.tcp_max_orphans = 3276800
  • net.ipv4.tcp_max_syn_backlog = 8192
  • net.ipv4.tcp_max_tw_buckets = 5000
  • net.ipv4.tcp_timestamps = 0
  • net.ipv4.tcp_synack_retries = 1
  • net.ipv4.tcp_syn_retries = 1
  • net.ipv4.tcp_tw_recycle = 1
  • net.ipv4.tcp_tw_reuse = 1
  • net.ipv4.tcp_mem = 786432 1048576 1572864
  • net.ipv4.tcp_fin_timeout = 30
  • net.ipv4.tcp_keepalive_time = 1200
  • net.ipv4.ip_local_port_range = 1024 65000

以上配置说明:
  net.ipv4.tcp_rmem = 4096 87380 4194304:TCP读buffer,可参考的优化值: 32768 436600 873200
  net.ipv4.tcp_wmem = 4096 65536 4194304:TCP写buffer,可参考的优化值: 8192 436600 873200
  net.core.wmem_default:表示发送套接字缓冲区大小的缺省值(以字节为单位)

net.core.rmem_default:表示接收套接字缓冲区大小的缺省值(以字节为单位)

net.core.rmem_max :表示接收套接字缓冲区大小的最大值(以字节为单位)

net.core.wmem_max:表示发送套接字缓冲区大小的最大值(以字节为单位)

net.core.netdev_max_backlog = 262144:每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目。

net.core.somaxconn = 262144:web应用中listen函数的backlog默认会给我们内核参数的net.core.somaxconn限制到128,而nginx定义的NGX_LISTEN_BACKLOG默认为511,所以有必要调整这个值。

net.ipv4.tcp_max_orphans = 3276800:系统中最多有多少个TCP套接字不被关联到任何一个用户文件句柄上。

net.ipv4.tcp_max_syn_backlog = 8192:表示SYN队列的长度,默认为1024,加大队列长度为8192,可以容纳更多等待连接的网络连接数。

net.ipv4.tcp_max_tw_buckets = 5000:表示系统同时保持TIME_WAIT套接字的最大数量,如果超过这个数字,TIME_WAIT套接字将立刻被清除并打印警告信息。减少它的最大数量,避免Squid服务器被大量的TIME_WAIT套接字拖死。

net.ipv4.tcp_timestamps = 0:时间戳可以避免序列号的卷绕。一个1Gbps的链路肯定会遇到以前用过的序列号,时间戳能够让内核接受这种“异常”的数据包,这里需要将其关掉。
  net.ipv4.tcp_tw_recycle = 1:表示开启TCP连接中TIME-WAIT sockets的快速回收。
  net.ipv4.tcp_tw_reuse = 1:表示开启重用,允许将TIME-WAIT sockets重新用于新的TCP连接。

net.ipv4.tcp_mem = 786432 1048576 1572864:同样有3个值,net.ipv4.tcp_mem[0]:低于此值,TCP没有内存压力;net.ipv4.tcp_mem[1]:在此值下,进入内存压力阶段;net.ipv4.tcp_mem[2]:高于此值,TCP拒绝分配socket。可根据物理内存大小进行调整,如果内存足够大的话,可适当往上调。建议94500000 915000000 927000000。

net.ipv4.tcp_fin_timeout = 30:表示如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间。

net.ipv4.tcp_keepalive_time = 1200:表示当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时,改为20分钟。

net.ipv4.ip_local_port_range = 1024 65000:表示用于向外连接的端口范围。缺省情况下很小:32768到61000,改为1024到65000。

使配置立即生效:

/sbin/sysctl -p

3.关闭系统无关的服务

接下来关掉一些不必要的系统服务

chkconfig bluetooth off

chkconfig firstboot off

chkconfig cups off

chkconfig ip6tables off

chkconfig isdn off

chkconfig kudzu off

chkconfig sendmail off

chkconfig smartd off

chkconfig autofs off

停止apache服务

service httpd stop

建议卸载掉apache

4.修改文件描述符限制

(1)修改用户级限制
  ulimit -n   #查看当前用户的文件描述符的限制数目

ulimit -HSn 4096   #修改当前shell环境文件描述符的限制数目

永久修改用户的文件描述符的限制

vi /etc/security/limits.conf   #编辑limits.conf文件,添加以下两行


  • *                hard    nofile          4096
  • *                soft    nofile          4096

(2)修改系统级限制

vi /usr/include/bits/typesizes.h   #编辑typesizes.h文件找到以下行将1024改为4096


  • #define __FD_SETSIZE            4096

vi /usr/include/linux/posix_types.h   #编辑posix_types.h文件找到以下行将1024改为4096


  • #define __FD_SETSIZE    4096

注:刚才编辑的这两个文件是C/C++程序里面的头文件,编译squid的时候会被自动引用。只需要修改其数值,前面的#号不要去掉。

cat /proc/sys/fs/file-max    #查看系统级的文件描述符的限制数目

如果小于4096,则执行下面语句,大于4096则跳过此步骤

echo 4096 > /proc/sys/fs/file-max

5.优化TCP/IP栈分配给出去连接的本地端口范围

netstat -n | grep TIME_WAIT   #查看当前有多少个出去的连接
  cat /proc/sys/net/ipv4/ip_local_port_range   #查看分配的本地端口范围
  echo "1024 65000" > /proc/sys/net/ipv4/ip_local_port_range  #修改端口范围

vi /etc/rc.d/rc.local   #编辑rc.local文件使其开机生效


  • echo "1024 65000" > /proc/sys/net/ipv4/ip_local_port_range

注:以上端口范围可根据自己网站的实际情况进行更改

6.配置时间同步

yum install ntp

crontab –e

在最后添加


  • 1 5 * * * /usr/sbin/ntpdate time.nist.gov

7.开启防火墙80端口

vi /etc/sysconfig/iptables   #添加一条规则


  • -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

service iptables restart   #重启防火墙使配置生效

8.下载软件

cd /usr/local/src
  wget http://cloud.github.com/downloads/libevent/libevent/libevent-2.0.19-stable.tar.gz
  wget http://memcached.googlecode.com/files/memcached-1.4.13.tar.gz
  wget http://www.squid-cache.org/Versions/v3/3.1/squid-3.1.20-20120610-r10455.tar.gz

9.安装编译工具

yum -y install gcc gcc-c++

四、安装配置memcached

1.安装libevent

tar -zxvf libevent-2.0.19-stable.tar.gz

cd libevent-2.0.19-stable

./configure --prefix=/usr/

make && make install

注:如果 libevent 不是安装在/usr目录下,那么需要把libevent-1.2a.so.1拷贝或链接到/usr/lib中,否则memcached无法正常加载。

2.安装memcached

tar -zxvf memcached-1.4.13.tar.gz

cd memcached-1.4.13
  ./configure --prefix=/usr/local/memcached --with-libevent=/usr/

make && make install

3.启动memcached
  /usr/local/memcached/bin/memcached -l 192.168.0.149 -d -p 11211 -u nobody -m 128
  4.配置memcached开机启动

vi /etc/rc.d/rc.local

在最后添加


  • /usr/local/memcached/bin/memcached -l 192.168.0.149 -d -p 11211 -u nobody -m 128

五、安装配置squid

1.安装squid

tar -zxvf squid-3.1.20-20120610-r10455.tar.gz

cd squid-3.1.20-20120610-r10455
  ./configure --prefix=/usr/local/squid --enable-async-io=100 --disable-delay-pools --disable-mem-gen-trace --disable-useragent-log --enable-kill-parent-hack --disable-arp-acl --enable-epoll --disable-ident-lookups --enable-snmp --enable-large-cache-files --with-large-files

make && make install

2.创建squid相关目录

groupadd squid   #创建squid用户组
  useradd -g squid -s /sbin/nologin squid   #创建squid用户,并加入到squid组里,不允许登录系统

chown -R squid /usr/local/squid/   #修改squid的安装目录所属用户为squid用户

mkdir -p /var/cache     #创建squid的第一个缓存目录

mkdir -p /var/squid    #创建squid的第二个缓存目录
  chown squid.squid -R /var/cache /var/squid  #设置目录所有者

chmod -R 777 /var/cache /var/squid    #设置目录权限

3.配置squid

将squid的初始配置文件备份,我们要重新创建配置文件
  mv /usr/local/squid/etc/squid.conf /usr/local/squid/etc/squid.conf.bak

vi /usr/local/squid/etc/squid.conf


  • cache_effective_user squid    #运行squid的用户
  • cache_effective_group squid   #运行squid的用户所在的组
  • visible_hostname squid1.cache.cn   #设定squid的主机名,如无此项squid将无法启动
  • http_port 80 accel vhost vport   #代理端口
  • icp_port 3130   #icp端口
  • # 配置其他缓存服务器,当squid1在其缓存中没有找到请求的资源时,通过ICP查询去其邻居中取得缓存
  • cache_peer 192.168.0.150 sibling 80 3130
  • # 后端web服务器配置,round-robin表示通过轮询方式将请求分发到其中一台web节点
  • cache_peer 192.168.0.108 parent 80 0 no-query originserver round-robin  name=webServer1
  • cache_peer 192.168.0.109 parent 80 0 no-query originserver round-robin  name=webServer2
  • cache_peer 192.168.1.115 parent 80 0 no-query originserver round-robin  name=webServer3
  • cache_peer_domain webServer1 webServer2 webServer3 .xuad.com  #根据通配域名xuad.com来进行转发
  • # 下面三行是配置访问控制的
  • acl localnet src 192.168.0.149 192.168.0.150   #配置同级代理服务器IP段
  • http_access allow all   #允许以上所有规则通过
  • icp_access allow localnet   #允许localnet规则通过
  • # URL中包含cgi-bin和以https:\\开头的都不缓存,asp、cgi、php、jsp等动态页面也不缓存
  • hierarchy_stoplist cgi-bin ?
  • hierarchy_stoplist -i ^https:\\ ?
  • acl QueryString urlpath_regex -i cgi-bin \? \.asp \.php \.jsp \.cgi
  • acl denyssl urlpath_regex -i ^https:\\
  • no_cache deny QueryString
  • no_cache deny denyssl
  • # 日志和缓存目录的设置
  • cache_log /usr/local/squid/var/logs/cache.log   #cache.log日志文件存放目录
  • access_log /usr/local/squid/var/logs/access.log squid   #access.log日志文件存放目录
  • cache_dir aufs /var/cache 1024 16 256   #设定缓存目录cache,目录容量最大1024M,16*256级子目录
  • cache_dir aufs /var/squid 3072 16 256   #设定缓存目录squid,目录容量最大3072M,16*256级子目录
  • cache_mem 128 MB    #squid用于缓存的内存容量
  • # 当缓存目录空间使用达到95%以上时,新的内容将取代旧的内容,直到空间又下降到90%才停止这一活动
  • cache_swap_low 90
  • cache_swap_high 95
  • # 设置存储策略
  • maximum_object_size 4096 KB    #能缓存的最大对象为4M
  • maximum_object_size_in_memory 80 KB   #内存中缓存的最大对象80K
  • ipcache_size 1024   #缓存DNS解析得到的IP,最大单个对象为1024K
  • ipcache_low 90
  • ipcache_high 95
  • cache_replacement_policy lru   #缓存替换策略
  • memory_replacement_policy lru   #内存替换策略
  • memory_pools on   #开启内存池
  • memory_pools_limit 32 MB   #限制内存池大小为32MB

  • forwarded_for on   #开启转发
  • log_icp_queries off   #关闭icp查询日志

  • forward_timeout 20 seconds   #允许转发超时20秒
  • connect_timeout 30 seconds   #连接到其他机器的最大尝试时间
  • read_timeout 3 minutes   #允许读取超时3分钟
  • request_timeout 1 minutes    #允许返回超时1分钟
  • persistent_request_timeout 30 seconds   #允许持续连接超时30秒
  • client_lifetime 15 minutes   #客户端会话保持
  • shutdown_lifetime 5 seconds
  • negative_ttl 30 seconds   #设置错误信息的生存时间
  • # 允许一个IP最大并发数为50
  • acl OverConnLimit maxconn 50
  • http_access deny OverConnLimit

  • client_persistent_connections off   #对客户端长连接KeepAlive这个参数的支持
  • server_persistent_connections on  # 开启服务端的KeepAlive,web端要开启KeepAlive,不然这里打开是没用的
  • tcp_recv_bufsize 65535 bytes   #TCP套接字接收缓冲区大小
  • half_closed_clients off  #当客户与squid的连接处于半关闭状态时,允许squid立即关闭连接

  • via on   #开启转发循环的检测
  • request_header_access via deny all   #避免由于两台squid的主机名一样而返回403错误
  • httpd_suppress_version_string off   #错误页面不显示squid的版本信息
  • ie_refresh off   #是否允许对旧版本的IE浏览器强制刷新页面

  注:shutdown_lifetime 5 seconds说明:当收到SIGTERM 或者 SIGHUP 信号后,squid将进入一种shutdown pending的模式,等待所有活动的套接字关闭。在过了shutdown_lifetime所定义的时间后,所有活动的用户都将收到一个超时信息。缺省值为30秒。

4.启动squid

检查 squid 配置文件正确与否

/usr/local/squid/sbin/squid -Nk parse


生成缓存目录

/usr/local/squid/sbin/squid -N –z


测试squid

/usr/local/squid/sbin/squid -N -d1


启动squid

/usr/local/squid/sbin/squid

ps -ef |grep squid     #检查squid是否正常启动


配置squid开机启动

vi /etc/rc.d/rc.local

在最后添加


  • /usr/local/squid/sbin/squid

5.滚动日志文件

squid将大量的重要信息写入日志,假如写不进去了,squid会发生错误并退出。为了合理控制磁盘空间消耗,必须周期性的滚动日志文件。

/usr/local/squid/sbin/squid -k rotate

ls -alh /usr/local/squid/var/logs/


通过上图,可以看到日志已经被分割了,将此命令加入到crontab里,让它在每天的凌晨4点运行。

crontab -e

在最后添加


  • 0 4 * * * /usr/local/squid/sbin/squid -k rotate

附1:安全停止squid

/usr/local/squid/sbin/squid -k shutdown

附2:立即停止squid

/usr/local/squid/sbin/squid -k interrupt

附3:在squid运行中,对squid.conf做了修改,使修改后的配置生效

/usr/local/squid/sbin/squid -k reconfigure

注:在使用reconfigure选项时你须谨慎,因为所做的改变可能会导致致命错误,必须确保所做的修改是正确的。

附4:前端用LVS做负载均衡的话,请做以下修改

vi /root/Desktop/lvs_vip.sh   #编写VIP的绑定脚本


  • #!/bin/bash
  • # description: Config realserver
  • SNS_VIP=192.168.0.56
  • /etc/rc.d/init.d/functions
  • case "$1" in
  • start)
  •        /sbin/ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP
  •        /sbin/route add -host $SNS_VIP dev lo:0
  •        echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
  •        echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
  •        echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
  •        echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
  •        sysctl -p >/dev/null 2>&1
  •        echo "RealServer Start OK"
  •        ;;
  • stop)
  •        /sbin/ifconfig lo:0 down
  •        /sbin/route del $SNS_VIP >/dev/null 2>&1
  •        echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
  •        echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
  •        echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
  •        echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
  •        echo "RealServer Stoped"
  •        ;;
  • *)
  •        echo "Usage: $0 {start|stop}"
  •        exit 1
  • esac
  • exit 0

chmod +x /root/Desktop/lvs_vip.sh   #赋予lvs_vip.sh脚本执行权限

/root/Desktop/lvs_vip.sh start   #启动lvs_vip.sh
  echo "/root/Desktop/lvs_vip.sh start" >> /etc/rc.d/rc.local   #设置lvs_vip.sh开机启动
  ip add     #查看VIP是否已绑定


vi /usr/local/squid/etc/squid.conf   #修改squid的配置文件


  • cache_effective_user squid
  • cache_effective_group squid
  • visible_hostname squid1.cache.cn
  • http_port 0.0.0.0:80 vhost vport
  • icp_port 3130
  • cache_peer 192.168.0.150 sibling 80 3130
  • cache_peer 192.168.0.108 parent 80 0 no-query originserver
  • cache_peer 192.168.0.109 parent 80 0 no-query originserver
  • cache_peer 192.168.1.115 parent 80 0 no-query originserver
  • acl localnet src 192.168.0.149
  • http_access allow all
  • icp_access allow localnet
  • hierarchy_stoplist cgi-bin ?
  • hierarchy_stoplist -i ^https:\\ ?
  • acl QueryString urlpath_regex -i cgi-bin \? \.asp \.php \.jsp \.cgi
  • acl denyssl urlpath_regex -i ^https:\\
  • no_cache deny QueryString
  • no_cache deny denyssl
  • cache_log /usr/local/squid/var/logs/cache.log
  • access_log /usr/local/squid/var/logs/access.log squid
  • cache_dir aufs /var/cache 1024 16 256
  • cache_dir aufs /var/squid 3072 16 256
  • cache_mem 128 MB
  • cache_swap_low 90
  • cache_swap_high 95
  • maximum_object_size 4096 KB
  • maximum_object_size_in_memory 80 KB
  • ipcache_size 1024
  • ipcache_low 90
  • ipcache_high 95
  • cache_replacement_policy lru
  • memory_replacement_policy lru
  • memory_pools on
  • memory_pools_limit 32 MB
  • forwarded_for on
  • log_icp_queries off
  • forward_timeout 20 seconds
  • connect_timeout 30 seconds
  • read_timeout 3 minutes
  • request_timeout 1 minutes
  • persistent_request_timeout 30 seconds
  • client_lifetime 15 minutes
  • shutdown_lifetime 5 seconds
  • negative_ttl 30 seconds
  • acl OverConnLimit maxconn 50
  • http_access deny OverConnLimit
  • client_persistent_connections off
  • server_persistent_connections on
  • tcp_recv_bufsize 65535 bytes
  • half_closed_clients off
  • via on
  • request_header_access via deny all
  • httpd_suppress_version_string off
  • ie_refresh off

/usr/local/squid/sbin/squid -k reconfigure   #使用修改后的配置生效

六、测试

找一台windows的机器用来测试,修改hosts文件,hosts文件在C:\WINDOWS\system32\drivers\etc目录下,添加如下内容


  • 192.168.0.149 www.xuad.com
  • 192.168.0.149 aaa.xuad.com
  • 192.168.0.149 bbb.xuad.com

打开浏览器,在地址栏里输入:http://www.xuad.com,确保网站可正常访问。

ls -alh /var/squid/00/00/


通过上图可看到缓存文件已经生成,然后关闭一台web服务器,看网站可否正常访问。

对于另一台的测试,也请按此方法来进行测试。

如果缓存服务器前面还有一层负载均衡,hosts文件需要配置成负载机器的IP地址,然后可尝试在两台缓存都开启的情况下进行测试。




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-655421-1-1.html 上篇帖子: MemCached缓存知识知多少? 下篇帖子: Memcached进程挂掉自动重启脚本
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表