使用Amazon免費雲主機和Docker技術,快速搭建Squid服務器!

首要要申請使用Amazon的EC2,具體步驟就不囉嗦了,不熟悉的同窗能夠參考如下步驟(Amazon網站上有詳細的在線說明)。docker

  • 帳號註冊瀏覽器

  • 綁定信用卡:這個是必須過程,但不須要付費。安全

  • 訪問AWS控制檯:https://console.aws.amazon.com 
    bash

    在主WEB面板點擊compute的EC2服務器

    接着在EC2面板中點擊Launch Instanceide

    選擇主機鏡像網站

    選擇實例的類型,這裏咱們選擇第一個:Free tier eligible,不要選擇其它的,不然致使付費ui

    配置實例的細節,這裏要注意的是Auto-assign Public IP參數必定要Enable,不然你的VM是沒有外網IP沒法遠程和上網的this

    添加存儲,這裏Amazon提示能夠提高到30GB的存儲,我這裏用默認的就夠了spa

    定義實例標籤

    配置安全組(組裏面是定義一些限制或者端口策略),這裏有2個端口是要對外開放的:

       -   SSH協議的22端口:爲了咱們遠程配置與管理

       -   http代理服務使用的3128端口(默認)

    建立密鑰對並下載私鑰證書

  • 選擇上面下載到本地的私鑰證書,用XSHELL(Linux)或putty(Windows)進行鏈接

  • 進入系統後首先安裝並啓動docker服務(直接使用yum命令就行)

    sudo yum install docker       //安裝docker

    sudo service docker start    //啓動docker後臺服務


下面咱們進入正題,如何在5分鐘時間內完成squid代理服務的搭建。

1、使用pull命令從docker hub 下載一個成熟的squid鏡像

docker pull sameersbn/squid:latest

2、啓動容器

docker run --name squid -d --restart=always 
 --publish 3128:3128 \
 --volume /srv/docker/squid/cache:/var/spool/squid3 \
 sameersbn/squid:latest

3、從容器中將配置文件複製到主機(也可使用attach方式直接進入容器修改相關配置文件後再食用commit命令持久化到鏡像,但從後期維護的角度不建議採用這種方式)

docker cp squid:/etc/squid3/ .

4、修改已複製到主機的配置文件(設置訪問權限等),最小修改一條便可。

vi squid.conf
    # And finally deny all other access to this proxy
    http_access allow all   #將這裏的  deny all 修改成 allow all

5、中止並刪除正在運行的容器後,採用卷綁定主機配置文件的方式再從新啓動

docker stop squid
docker rm squid
docker run --name squid -d --restart=always   --publish 3128:3128   --volume /srv/docker/squid/cache:/var/spool/squid3  --volume /home/ec2-user/squid/squid3:/etc/squid3  sameersbn/squid:latest

6、如今一個私有的http代理服務器就已經搭建好了,修改瀏覽器的訪問設置後就能夠直接使用了。

export ftp_proxy=http://{EC2雲主機ip}:3128
export http_proxy=http://{EC2雲主機ip}:3128
export https_proxy=http://{EC2雲主機ip}:3128


其餘:

A、採用退出時清除容器的方式啓動:

sudo docker run --name squid --rm --publish 3128:3128   --volume /srv/docker/squid/cache:/var/spool/squid3  --volume /home/ec2-user/squid/squid3:/etc/squid3  sameersbn/squid:latest

B、查看代理訪問日誌:

sudo docker exec -it squid tail -f /var/log/squid3/access.log

c、訪問並進入正在運行的容器

sudo docker exec -it squid bash
相關文章
相關標籤/搜索