如何在linux上用squid搭建代理服务器
安装环境
操作系统: CentOS release 52 (Final)
Kernel: 2618-92el5PAE
软件列表
squid-26STABLE22targz
软件存放位置
/data/software
安装过程
#/usr/sbin/groupadd squid -g 610
#/usr/sbin/useradd -u 610 -g squid squid
#mkdir /srv/scache
#chmod +w /var/vcache
#chown -R squidsquid /srv/scache
#mkdir /var/log/squid
#chmod +w /var/log/squid
#chown -R squidsquid /var/log/squid
#cd /data/software/pkg
#tar zxvf /squid-26STABLE22targz
#cd squid-26STABLE22
#/configure --prefix=/usr/local/squid
#make && make install
编辑Squid配置文件
#vi /usr/local/squid/etc/squidconf
-------------------------华丽的分割线,以下都是配置文件内容----------------------------
#定义acl项名称
acl all src 0000/0000
acl manager proto cache_object
acl localhost src 127001/255255255255
acl to_localhost dst 127000/8
acl SSL_ports port 443
acl Safe_ports port 80
acl safeprotocol protocol HTTP
acl test dstdomain testcom
acl CONNECT method CONNECT
#定义acl规则
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny to_localhost
http_access allow safeprotocol Safe_ports test
http_access deny all
icp_access allow all
#squid监听端口
http_port 80 accel defaultsite=591513258 vhost
always_direct allow all
#后端服务器
cache_peer 1010108 parent 80 0 no-query originserver
hierarchy_stoplist cgi-bin
#内存cache大小
cache_mem 2048 MB
#内存cache中最大的object大小(超过这个值则不进入内存cache)
maximum_object_size_in_memory 8 KB
#内存cache的替换规则
memory_replacement_policy lru
#硬盘cache的替换规则
cache_replacement_policy lru
#磁盘cache目录(文件类型 cache目录路径 cache目录大小 二级目录个数 每个二级目录下的三级目录个数)
cache_dir ufs /srv/scache 40000 16 256
#磁盘cache中最小的object的大小(低于这个值则不缓存)
minimum_object_size 0 KB
#磁盘cache中最大的object的大小(超过这个值则不缓存)
maximum_object_size 2048 KB
cache_swap_low 90
cache_swap_high 95
#定义日志格式
logformat combined %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %h" "%{User-Agent}>h" %Ss:%Sh
#记录相关日志
access_log /var/log/squid/accesslog squid
cache_log /var/log/squid/cachelog
cache_store_log /var/log/squid/storelog
#日志rotate(24则后缀从0到23)
logfile_rotate 24
emulate_httpd_log on
#如果你的URL里面带有,这两行一定要注销掉
#acl QUERY urlpath_regex cgi-bin \
#cache deny QUERY
#配置自动更新(关于后面的三个值请参考Squid配置手册)
refresh_pattern -i \jpg$ 60 80% 1440
refresh_pattern -i \png$ 60 80% 1440
refresh_pattern -i \gif$ 60 80% 1440
quick_abort_min 16 KB
quick_abort_max 16 KB
quick_abort_pct 95
request_header_max_size 10 KB
reply_header_max_size 10 KB
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
#相关timeout设置
forward_timeout 4 minutes
connect_timeout 3 minutes
peer_connect_timeout 30 seconds
read_timeout 15 minutes
request_timeout 1 minute
persistent_request_timeout 3 minutes
half_closed_clients off
pconn_timeout 1 minute
#cache管理员邮箱
cache_mgr webmaster@testcom
cache_effective_user squid
cache_effective_group squid
#squid服务器的visible_hostname,此处指定的值显示在Squid响应的Header里面的X-Cache项中
visible_hostname squidserver
coredump_dir /var/log/squid/cache
------------------------华丽的分割线,以上都是配置文件内容-----------------------------
初始化squid缓存目录
#/usr/local/squid/sbin/squid -z
启动squid
#/usr/local/squid/sbin/squid -sD
配置完成以后,最重要最重要的一点,修改Squid服务器的hosts文件,将需要Cache的域名指向到后端的服务器IP上
相关命令
停止squid
/usr/local/squid/sbin/squid -k shutdown
启用新配置
/usr/local/squid/sbin/squid -k reconfig
通过crontab每小时截断/轮循日志
59 /usr/local/squid/sbin/squid -k rotate
查看squid运行状况
/usr/local/squid/bin/squidclient -p 80 mgr:info
/usr/local/squid/bin/squidclient -p 80 mgr:5min
查看squid内存使用情况
/usr/local/squid/bin/squidclient -p 80 mgr:mem
查看squid磁盘使用情况
/usr/local/squid/bin/squidclient -p 80 mgr:diskd
查看squid已缓存列表(小心使用,可能会导致crash)
/usr/local/squid/bin/squidclient -p 80 mgrbjects
强制更新某个url
/usr/local/squid/bin/squidclient -p 80 -m PURGE http://imgtestcom/h/ajpg
查看squid缓存到内存cache中并返回给访问用户的项
#cat /var/log/squid/accesslog | grep TCP_MEM_HIT
查看squid缓存到磁盘cache中并返回给访问用户的项
#cat /usr/local/squid/var/logs/accesslog | grep TCP_HIT
查看没被squid缓存住,直接从原始服务器获取并返回给访问用户的项
#cat /usr/local/squid/var/logs/accesslog | grep TCP_MISS
一步一步教你架构linux服务器?
Linux服务器的部署,配置,搭建步骤:
1准备:
11jdk18:jdk-8u11-linux-x64targz。
tomcat:apache-tomcat-8039-windows-x64zip。
12先安装个18的jdk,注意是linuxforjdk,要不然可不行。
然后新建一个java文件夹在根目录的(这里的根目录要通过cd再接/usr/进入,而不是home/xxx,可以通过pwd查看当前所在路径)/usr/下,用来放置解压后的jdk文件,这里因为后缀名是targz所以直接用tar-xf命令解压。
2配置:
21配置JDK的环境变量:到/etc/文件夹找到profile文件,通过文件编辑命令viprofile在文件的末尾加上变量参数:
JAVA_HOME=/usr/java/jdk180_11
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=:$JAVA_HOME/jre/lib/rtjar:$JAVA_HOME/lib/dtjar:$JAVA_HOME/lib/toolsjar
22把下好的tomcat解压到自定义的一个文件夹里了,我的是home/pengyy/tomcat/下,到config文件里修改一下端口号,vi命令编辑serverxml,里面后来启动的时候8005那个端口有冲突,我直接改了8088,然后又把http请求的端口改成了8001,OK,tomcat配置完成,没什么过多的步骤。
23将一个完成的web项目打成war包,放在tomcat下的webapps里解压。
24进入到tomcat下的bin目录,输入命令启动:/startsh,终止命令/shutdownsh。
可以查看日志,去tomcat的logs目录底下查看catalinaout日志文件,可以通过cat查看文件命令,也可以tail-f(倒数多少行可以为数字)catalinaout来查看。
如果端口号被占用,可以用命令lsof-i:端口号来查看端口号被占用的进程号,或者停止该进程,或者修改tomcat的端口号都可以。
而当你不确定是否终止了哪个项目的时候,可以通过输入命令ps-ef|grepjava来查看一下是否有在运行的项目,通过kill-9进程号就可以干掉哪个正在运行的项目了。
最后通过ifconfig或者ip命令获取虚拟机的Ip地址,在主机上通过ip+端口号+项目根路径的方式访问即可。
linux服务器,用centOS还是UbuntuServer更好一点?
linux服务器系统多使用CentOS、uBuntu、Gentoo、FreeBSD、Debian。服务器操作系统应该选择Ubuntu还是CentOS,CentOS目前市场占有率第一。
根据Linux服务器搭建的环境来选择:
nginx+php+mysql选择freebsd
tomcat+jsp+orcal选择ubuntu
apache+php+mysql选择centos
如果没有专门的服务器运维人员,Ubuntu更合适,根据VPS服务商统计,超过75%都在用Ubuntu/Debian,用CentOS的不足20%。
57%ofdeploymentsareUbuntu
如何用Linux设置代理服务器?
你虚拟机网络设置正常的情况下要通过桥接网络的代理服务器上网设置在profile文件中设置相关环境变量#vi/etc/profilehttp_proxy=1921681091:3128#分别指定http、https、ftp协议使用的代理服务器地址https_proxy=1921681091:3128ftp_proxy=1921681091:3128no_proxy=192168100#访问局域网地址(192168200/24网段)时不使用代理,可以用逗号分隔多个地址exporthttp_proxyhttps_proxyftp_proxyno_proxy保存退出,注销重新登陆系统即可生效。
学LINUX服务器哪本书比较好?
Linux程序设计(第三版)以下摘自豆瓣:------内容······时至今日,Linux系统已经从一个个人作品发展为可以用于各种关键任务的成熟、高效和稳定的操作系统,因为具备跨平台、开源、支持众多应用软件和网络协议等优点,它得到了各大主流软硬件厂商的支持,也成为广大程序设计人员理想的开发平台。
本书是Linux程序设计领域的经典名著,以简单易懂、内容全面和示例丰富而受到广泛好评。中文版前两版出版后,在国内的Linux爱好者和程序员中也引起了强烈反响,这一热潮一直持续至今。本书是国内读者翘首以待的第4版(者注:第3版已经够用了~),此次新版内容组织更加严谨,译者更是细心雕琢,保留了这部权威著作的原汁原味。对Linux所提供的功能全面而准确的阐述,以及贯穿全书的示例程序体验,使本书不仅成为初学者的最佳Linux程序设计指南,而且是中高级程序员不可或缺的参考书。实验环境: 系统 centos63 内网 eth0:192168223163 外网 eth1:1921682278 Squid Cache: Version squid-3110 网卡配置如下: 内网: centos63(x64) squid透明代理服务器(详细安装步骤) - Only - Only 外网: centos63(x64) squi
这是一个关于怎样在你的 CentOS 7 上安装配置 VNC 服务的教程。当然这个教程也适合 RHEL 7 。在这个教程里,我们将学习什么是 VNC 以及怎样在 CentOS 7 上安装配置 VNC 服务器。我们都知道,作为一个系统管理员,大多数时间是通过网络管理服务器的。在管理服务器的过程中很少会用到图形界面,多数情况下我们只是用 SSH 来完成我们的管理任务。在这篇文章里,我们将配置 VNC 来提供一个连接我们 CentOS 7 服务器的方法。VNC 允许我们开启一个远程图形会话来连接我们的服务器,这样我们就可以通过网络远程访问服务器的图形界面了。VNC 服务器是一个自由开源软件,它可以让用户可以远程访问服务器的桌面环境。另外连接 VNC 服务器需要使用 VNC viewer 这个客户端。一些 VNC 服务器的优点:远程的图形管理方式让工作变得简单方便。剪贴板可以在 CentOS 服务器主机和 VNC 客户端机器之间共享。CentOS 服务器上也可以安装图形工具,让管理能力变得更强大。只要安装了 VNC 客户端,通过任何操作系统都可以管理 CentOS 服务器了。比 ssh 图形转发和 RDP 连接更可靠。那么,让我们开始安装 VNC 服务器之旅吧。我们需要按照下面的步骤一步一步来搭建一个可用的 VNC。首先,我们需要一个可用的桌面环境(X-Window),如果没有的话要先安装一个。注意:以下命令必须以 root 权限运行。要切换到 root ,请在终端下运行“sudo -s”,当然不包括双引号(“”)1 安装 X-Window首先我们需要安装 X-Window,在终端中运行下面的命令,安装会花费一点时间。# yum check-update# yum groupinstall "X Window System"#yum install gnome-classic-session gnome-terminal nautilus-open-terminal control-center liberation-mono-fonts### 设置默认启动图形界面# unlink /etc/systemd/system/defaulttarget# ln -sf /lib/systemd/system/graphicaltarget /etc/systemd/system/defaulttarget# reboot在服务器重启之后,我们就有了一个工作着的 CentOS 7 桌面环境了。现在,我们要在服务器上安装 VNC 服务器了。2 安装 VNC 服务器现在要在我们的 CentOS 7 上安装 VNC 服务器了。我们需要执行下面的命令。# yum install tigervnc-server -y3 配置 VNC然后,我们需要在 /etc/systemd/system/ 目录里创建一个配置文件。我们可以将 /lib/systemd/sytem/vncserver@service 拷贝一份配置文件范例过来。# cp /lib/systemd/system/vncserver@service /etc/systemd/system/vncserver@:1service接着我们用自己最喜欢的编辑器(这儿我们用的 nano )打开 /etc/systemd/system/vncserver@:1service ,找到下面这几行,用自己的用户名替换掉 。举例来说,我的用户名是 linoxide 所以我用 linoxide 来替换掉 :ExecStart=/sbin/runuser -l <USER>-c "/usr/bin/vncserver %i"PIDFile=/home/<USER>/vnc/%H%ipid替换成ExecStart=/sbin/runuser -l linoxide -c "/usr/bin/vncserver %i"PIDFile=/home/linoxide/vnc/%H%ipid如果是 root 用户则ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i"PIDFile=/root/vnc/%H%ipid好了,下面重启 systemd 。# systemctl daemon-reload最后还要设置一下用户的 VNC 密码。要设置某个用户的密码,必须要有能通过 sudo 切换到用户的权限,这里我用 linoxide 的权限,执行“su linoxide”就可以了。# su linoxide$ sudo vncpasswd确保你输入的密码多于6个字符4 开启服务用下面的命令(永久地)开启服务:$ sudo systemctl enable vncserver@:1service启动服务。$ sudo systemctl start vncserver@:1service5 防火墙设置我们需要配置防火墙来让 VNC 服务正常工作。$ sudo firewall-cmd --permanent --add-service vnc-server$ sudo systemctl restart firewalldservice现在就可以用 IP 和端口号(LCTT 译注:例如 19216811:1 ,这里的端口不是服务器的端口,而是视 VNC 连接数的多少从1开始排序)来连接 VNC 服务器了。6 用 VNC 客户端连接服务器好了,现在已经完成了 VNC 服务器的安装了。要使用 VNC 连接服务器,我们还需要一个在本地计算机上安装的仅供连接远程计算机使用的 VNC 客户端。
0条评论