Centos 6.5 x64 安裝tinyproxy http代理

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


線上的一臺Google代理服務器用的是meow,也是一款http代理軟件。但是有一個缺點,需要後臺啓動,而且,運行一段時間,進程就會掛掉。所以不得不寫個腳本,來監控進程,防止掛掉。


準備搭建一個爬蟲服務器,買了一個***,可以隨時切換IP的。後端PHP程序只需要調用這臺的http代理就可以了。

http代理不能斷,所以選擇了tinyproxy。


安裝方法,有2中。

  1. yum install -y tinyproxy

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


我選擇的是第2種方法,最新版本應該比較穩定。


安裝組件

yum install -y asciidoc

下載軟件包之後,開始解壓安裝

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=$?

    echo

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

    return $retval

}


restart() {

    stop

    start

}


reload() {

    echo -n $"Reloading $prog: "

    killproc $prog -HUP

    echo

}


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

        $1

        ;;

    restart)

        $1

        ;;

    reload)

        rh_status_q || exit 7

        $1

        ;;

    force-reload)

        force_reload

        ;;

    status)

        rh_status

        ;;

    condrestart|try-restart)

        rh_status_q || exit 0

        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代理是否可用







發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章