Nginx、Hysteria 的 Docker 部署实践

Docker 部署 Nginx 安装 Docker Engine 设置 Docker 的 apt存储库 # Add Docker's official GPG key: sudo apt-get update sudo apt-get install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc # Add the repository to Apt sources: echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update 安装 Docker 包 sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin 运行一个测试镜像验证安装是否成功 sudo docker run hello-world docker-compose 方式部署 Nginx 新建一个目录存放 docker-compose 、 nginx.conf 文件和 conf.d 文件夹 在新建的目录中创建一个名为" docker-compose.yml “的文件,内容如下: services: nginx: image: nginx:stable-alpine-perl container_name: nginx ports: - "80:80" - "443:443" volumes: - ./nginx.conf:/etc/nginx/nginx.conf:ro # nginx.conf文件路径根据实际调整 - ./conf.d:/home/sixdian/nginx/conf.d:ro # conf.d 目录路径根据实际调整 - /home/sixdian/site/sixdian.com/public:/home/sixdian/site/sixdian.com/public:ro # 网站根目录路径根据实际调整 - /home/sixdian/ssl:/home/sixdian/ssl:ro # ssl 证书目录路径根据实际调整 - /etc/dhparam:/etc/dhparam:ro environment: TZ: Asia/Shanghai restart: always 在 docker-compose.yml 文件所在目录中执行以下命令启动服务: docker compose up -d Docker 部署 Hysteria docker-compose 方式部署 Hysteria 新建一个目录存放 docker-compose.yml 文件和 hysteria.yaml 配置文件 在新建的目录中创建一个名为” docker-compose.yml “的文件,内容如下: services: hysteria: image: tobyxdd/hysteria container_name: hysteria restart: always network_mode: "host" volumes: - ./hysteria.yaml:/etc/hysteria.yaml:ro # hysteria.yaml 文件路径根据实际调整 - /home/sixdian/ssl:/home/sixdian/ssl:ro # ssl 证书目录路径根据实际调整 environment: TZ: Asia/Shanghai command: ["server", "-c", "/etc/hysteria.yaml"] 在 docker-compose.yml 文件所在目录中执行以下命令启动服务: docker compose up -d

August 28, 2025

利用 Hysteria 搭建科学上网服务

10月份之后 shadowsocks 扶墙服务器 IP 频繁遭屏蔽,更换 IP 浪费了我不少银两。考虑到 shadowsocks 协议已被防火长城精准识别,再用还会被封 IP,所以就用 Hysteria 替代 shadowsocks,作为以后科学上网的主要方式。 Hysteria 默认运用 UDP 协议进行通信,其主要应用场景有: 绕过网络审查 提升传输速度 绕过商业/学校/企业防火墙 绕过运营商 QoS 限速 下载 Hysteria cd /etc # 切换到系统 etc 文件夹 wget https://github.com/apernet/hysteria/releases/download/v1.3.2/hysteria-linux-amd64 #下载 Hysteria 服务程序 mv hysteria-linux-amd64 hysteria-server #将 Hysteria 服务程序重命名为 hysteria-server chmod +x hysteria-server #为 hysteria-server 赋予可执行权限 创建 Hysteria 服务配置文件 vi config.json { "listen": ":8388", "protocol": "udp", "cert": "/home/sixdian/ssl/cert.pem", "key": "/home/sixdian/ssl/key.pem", "obfs": "******", "up": "100 Mbps", "down": "20 Mbps", "alpn": "sixdian", "recv_window_conn": 8388608, "recv_window_client": 20971520 } 将 Hysteria 服务加入到 systemctl vi /etc/systemd/system/hysteria.service [Unit] Description=hysteria-server After=network-online.target [Service] Type=simple ExecStart=/etc/hysteria/hysteria-server server -c /etc/hysteria/config.json Restart=always RestartSec=2 [Install] WantedBy=multi-user.target 防火墙设置 firewall-cmd --zone=public --add-port=8388/udp --permanent #开放 8388 UDP 端口 firewall-cmd --zone=public --add-port=50000-60000/udp --permanent #开放 50000-60000 UDP 端口 firewall-cmd --zone=public --add-masquerade --permanent #允许防火墙伪装 IP firewall-cmd --zone=public --add-forward-port=port=50000-60000:proto=udp:toport=8388 --permanent #将 50000-60000 UDP 端口转到到 8388 UDP firewall-cmd --reload #使防火墙配置生效 启动 Hysteria,并使 Hysteria 服务开机启动 systemctl start hysteria #启动 Hysteria systemctl enable hysteria #设置 Hysteria 开机启动

December 13, 2022