squid安装及运行指南
0. What is squid
Squid是一个高性能的代理缓存服务器,Squid支持FTP、gopher、HTTPS和HTTP协议。和一般的代理缓存软件不同,Squid用一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求。
1. Download
下载源码: http://www.squid-cache.org/Versions/v3/3.5/
2. Compile & Install
# tar zxvf squid-3.5.27.tar.gz
# cd squid-3.5.27/
# ./configure
# make
# make install
3. Configure
当编译安装完成后,squid二进制被安装在/usr/local/squid目录下,具体目录为/usr/local/squid/sbin/squid,目录结构如下:
root@xxx:/usr/local/squid# tree -L 1 .
.
├── bin
├── etc
├── libexec
├── sbin
├── share
└── var
需要修改一下etc下的默认配置squid.conf,加入一行:
http_port 3129 intercept
更多的配置信息请看参考网址中的第二项,包括对代理网站的访问控制等信息配置。
4. Run
创建缓存目录
# /usr/local/squid/sbin/squid -z
使配置文件生效(修改配置文件后需要执行)
# /usr/local/squid/sbin/squid -k parse
以后台进程的形式启动squid
# /usr/local/squid/sbin/squid -s
默认配置下日志在/usr/local/squid/var/logs/目录下,日志包括access.log和cache.log,其中运行日志在cache.log,如果进程退出可以查看该日志以发现原因。
5. How to use
当squid进程正常运行后,默认监听3128端口,即开启了3128端口作为代理端口,我们可以设置代理端口为127.0.0.1:3128,接下来用该端口作为代理服务器就可以去尝试访问internet了,正常访问即说明运行正确。
遇到的问题
-
ERROR: No forward-proxy ports configured.
解决方案: https://www.cnblogs.com/AloneSword/p/4090827.html -
WARNING: Cannot write log file: /usr/local/squid/var/logs/cache.log
/usr/local/squid/var/logs/cache.log: Permission denied
messages will be sent to \'stderr\'.
解决方案:chmod -R 777 /usr/local/squid/var/logs
参考:
- squid3.0做编译安装配置透明代理: http://blog.sina.com.cn/s/blog_517e2e1b0100ap1v.html
- squid配置指南: http://www.phpfans.net/manu/Squid/ 第四章
- squid运行指南: http://www.phpfans.net/manu/Squid/ 第五章
- squid介绍及其简单配置: http://blog.51cto.com/linuxme/372960