Centos 6.5 x64 安装tinyproxy http代理

TinyProxy是个非常便利,及容易架设的HTTP代理,和squid相比,tinyproxy更小,更好使用。


线上的一台Google代理服务器用的是meow,也是一款http代理软件。但是有一个缺点,需要后台启动,而且,运行一段时间,进程就会挂掉。所以不得不写个脚本,来监控进程,防止挂掉。


准备搭建一个爬虫服务器,买了一个VPN,可以随时切换IP的。后端PHP程序只需要调用这台的http代理就可以了。

http代理不能断,所以选择了tinyproxy。


安装方法,有2中。

  1. yum install -ytinyproxy

  2. https://github.com/tinyproxy/tinyproxy下载最新的包


我选择的是第2种方法,最新版本应该比较稳定。


安装组件

yum install -yasciidoc

下载软件包之后,开始解压安装

unzip tinyproxy-master.zip -d /usr/src/

cd /usr/src/tinyproxy-master/

./autogen.sh

./configure --prefix=/usr/local/tinyproxy

make && make install


备份配置文件

cd /usr/local/tinyproxy/etc/tinyproxy/

cp tinyproxy.conf tinyproxy.conf.bak

cat tinyproxy.conf.bak | grep -v "^#" | grep -v "^$" > tinyproxy.conf


修改配置文件tinyproxy.conf

紫色部分是需要修改的,效果如下:


User root

Group root

Port 8888

Timeout 600

DefaultErrorFile "/usr/local/tinyproxy/share/tinyproxy/default.html"

StatFile "/usr/local/tinyproxy/share/tinyproxy/stats.html"

LogLevel Info

MaxClients 100

MinSpareServers 5

MaxSpareServers 20

StartServers 10

MaxRequestsPerChild 0

#Allow 127.0.0.1

ViaProxyName "tinyproxy"

ConnectPort 443

ConnectPort 563


Listen 1x.1x.1x.1x

PidFile "/var/run/tinyproxy.pid"

LogFile "/var/log/tinyproxy.log"


相关解释:

这里我解释下,修改部分。

认的user和grop是nobody,如果不改的话,会在/var/log/message日志中看到创建日志文件失败,没有权限

Allow表示允许使用tinyproxy进行HTTP代理的IP地址,因为内网多台服务器访问,所以直接注视,就是允许开放访问。

Listen 表示监听地址,这里我写的是内网IP,那么公网是无法访问到的,本来就只允许内网访问。

PidFile和LogFile表示pid文件和Log文件


编辑启动脚本

vim /etc/init.d/tinyproxy

脚本内容我是参考yum安装tinyproxy的启动脚本,相关路径改了下

内容如下:


#!/bin/sh

#

# tinyproxy Startup script for the tinyproxy server

# chkconfig: - 85 15

# description: small,efficient HTTP/SSL proxy daemon

# processname: tinyproxy

# config: /usr/local/tinyproxy/etc/tinyproxy/tinyproxy.conf

# config: /etc/sysconfig/tinyproxy

# pidfile: /var/run/tinyproxy.pid

# Note: pidfile is created by tinyproxy in its config

# see PidFile in the configuration file.


# Source function library.

. /etc/rc.d/init.d/functions


# Source networking configuration.

. /etc/sysconfig/network


# Check that networking is up.

[ "$NETWORKING" = "no" ] && exit 0


exec="/usr/local/tinyproxy/sbin/tinyproxy"

prog=$(basename $exec)

config="/usr/local/tinyproxy/etc/tinyproxy/tinyproxy.conf"


[ -e /etc/sysconfig/tinyproxy ] && . /etc/sysconfig/tinyproxy


lockfile=/var/lock/subsys/tinyproxy


start() {

[ -x $exec ] || exit 5

[ -f $config ] || exit 6

echo -n $"Starting $prog: "

daemon $exec -c $config

retval=$?

echo

[ $retval -eq 0 ] && touch $lockfile

return $retval

}


stop() {

echo -n $"Stopping $prog: "

killproc $prog

[ $retval -eq 0 ] && rm -f $lockfile

restart() {

stop

start

reload() {

echo -n $"Reloading $prog: "

killproc $prog -HUP

force_reload() {

restart

rh_status() {

status $prog

rh_status_q() {

rh_status >/dev/null 2>&1

case "$1" in

start)

rh_status_q && exit 0

$1

;;

stop)

rh_status_q || exit 0

restart)

$1

;;

reload)

rh_status_q || exit 7

force-reload)

force_reload

status)

rh_status

condrestart|try-restart)

restart

*)

echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"

exit 2

esac

exit $?


添加权限,添加到开机自启动项目

chmod +x /etc/init.d/tinyproxy

chkconfig --add tinyproxy

chkconfig --level 2345 tinyproxy on


启动tinyproxy

/etc/init.d/tinyproxy start


查看端口是否启动

netstat -anpt | grep tinyproxy


使用PHP代码测试http代理是否可用

相关文章

Centos下搭建性能监控Spotlight
CentOS 6.3下Strongswan搭建IPSec VPN
在CentOS6.5上安装Skype与QQ
阿里云基于centos6.5主机VPN配置
CentOS 6.3下配置multipah
CentOS安装、配置APR和tomcat-native