1. 代理

1.1 正向代理

隐藏客户端(VPN)

1.2 反向代理

隐藏服务端(Nginx)

2. 安装Docker

https://docs.docker.com/engine/install/debian/

docker -v  #查看 docker 版本
systemctl enable docker  # 设置开机自动启动

3. 安装Docker-compose

https://docs.docker.com/compose/install/standalone/

docker-compose --v  #查看 docker-compose 版本

4. 修改Docker配置

以下配置会增加一段自定义内网 IPv6 地址,开启容器的 IPv6 功能,以及限制日志文件大小,防止 Docker 日志塞满硬盘

cat > /etc/docker/daemon.json <<EOF
{
    "log-driver": "json-file",
    "log-opts": {
        "max-size": "20m",
        "max-file": "3"
    },
    "ipv6": true,
    "fixed-cidr-v6": "fd00:dead:beef:c0::/80",
    "experimental":true,
    "ip6tables":true
}
EOF

重启Docker服务

systemctl restart docker

5. 安装Nginx Proxy Manager

5.1 创建安装目录

mkdir -p /root/data/docker_data/npm

cd /root/data/docker_data/npm

用docker的方式安装

vim docker-compose.yml
version: '3'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80'  # 保持默认即可,不建议修改左侧的80
      - '81:81'  # 冒号左边可以改成自己服务器未被占用的端口
      - '443:443' # 保持默认即可,不建议修改左侧的443
    volumes:
      - ./data:/data # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 data 文件夹中
      - ./letsencrypt:/etc/letsencrypt  # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 letsencrypt 文件夹中

5.2 解决vim中文乱码

  • vim打开.vimrc配置文件
vim ~/.vimrc
  • 加上以下内容
set termencoding=utf-8
set encoding=utf8
set fileencodings=utf8,ucs-bom,gbk,cp936,gb2312,gb18030

5.3 解决终端中文乱码

dpkg-reconfigure locales

空格选中

zh_CN GB2312
zh_CN.GBK GBK
zh_CN.UTF-8 UTF-8
en_US.UTF-8 UTF-8

image-20241229154049473

Tab键,回车

image-20241229154133645

选择en-us,回车

image-20241229155501835

重启系统

sudo reboot

6. 添加安全组

image-20241229162138716

查看端口是否被占用

lsof -i:81  #查看 81 端口是否被占用,如果被占用,重新自定义一个端口

7. 运行并访问Nginx Proxy Manager

docker-compose up -d #-d 是 detached mode(分离模式)的缩写。使用 -d 选项时,Docker Compose 会在后台启动服务,而不会将日志输出显示在当前终端

输入http://ip:81即可访问

默认登录名和密码

Email:    [email protected]
Password: changeme

8. 更新Nginx Proxy Manager

cd /root/data/docker_data/npm

docker-compose down 

cp -r /root/data/docker_data/npm /root/data/docker_data/npm.archive  # 万事先备份,以防万一

docker-compose pull

docker-compose up -d    # 请不要使用 docker-compose stop 来停止容器,因为这么做需要额外的时间等待容器停止;docker-compose up -d 直接升级容器时会自动停止并立刻重建新的容器,完全没有必要浪费那些时间。

docker image prune  # prune 命令用来删除不再使用的 docker 对象。删除所有未被 tag 标记和未被容器使用的镜像

9. 卸载 Nginx Proxy Manager

cd /root/data/docker_data/npm

docker-compose down 

rm -rf /root/data/docker_data/npm  # 完全删除映射到本地的数据
最后修改:2025 年 01 月 01 日
如果觉得我的文章对你有用,请随意赞赏