今天有个客户说是要将一台服务器实现中转,问我有没有什么便捷的方法,其实方法有很多,用Nginx就可以实现了,下面分享一下!
首先在客户的服务器上部署一下Docker的环境,服务器系统为centos7
安装所需的软件包:yum install -y yum-utils
device-mapper-persistent-data lvm2
Docker CE 软件包通常位于 Docker 官方存储库中。使用以下命令来设置稳定的存储库:yum-config-manager --add-repo
https://download.docker.com/linux/centos/docker-ce.repo
接下来,使用以下命令来安装 Docker CE:yum install docker-ce
安装完成后,使用以下命令启动 Docker 服务并设置开机自启:
sudo systemctl start docker 和 sudo systemctl enable docker
重启以后,可以运行 sudo docker --version 来验证 Docker 是否正确安装!
环境部署完成以后,就可以安装Nginx了。
- 首先,创建名为.nginx的目录,并进入该目录。这可以通过以下命令实现:
mkdir .nginx && cd .nginx
- 接下来,使用Docker运行一个名为nginx的容器。它将以交互模式(-it)在后台运行(-d),并且给容器指定一个名称nginx,基于nginx镜像启动一个容器。
docker run -itd --name nginx nginx
- 然后,从运行中的nginx容器中复制/etc/nginx目录到当前目录下的.nginx目录中。这可以通过以下命令实现:
docker cp nginx:/etc/nginx .
- 停止并删除之前运行的nginx容器:
docker stop nginx && docker rm nginx
- 最后,使用挂载卷的方式重新运行nginx容器,使其共享本地的.nginx目录作为/etc/nginx目录。以下是重新运行nginx容器的命令:
docker run -itd \
-v $PWD/nginx:/etc/nginx \
--network=host \
--restart=unless-stopped \
--name nginx \
nginx
全部安装完成以后,就要实现中转功能了,其实也就是使用了nginx中的stream模块,打开服务器上面的nginx配置文件,通常文件名是nginx.conf
看一下里面是否有steam模块,如果没有的话,需要手动添加一下!可以参考下面的内容设置:
全部修改好以后,保存一下,然后重启一下nginx,让配置生效:docker restart nginx
利用这个nginx中转功能,可以实现很多操作,假如你想访问B服务器,但是本地电脑无法访问,但是A服务器可以访问B服务器,那么可以在A服务器上部署一下,这样就可以实现:
本地-A-B的数据交互了,A服务器相当于做了中转。