使用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
相关文章
相关标签/搜索