《自由》系列 - Caddy2 + Vmess 部署
===== 本教程更新于 2024-01-25 =====
系统环境
- 系统版本:22.04.3 LTS (Jammy Jellyfish)
- 内核版本:5.15.0-88-generic #98-Ubuntu SMP Mon Oct 2 15:18:56 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
- v2ray 版本:v5.13.0
- caddy 版本:v2.7.6 h1
v2ray 安装
1.点击这里下载 v2ray 到服务器的 /usr/local/src
目录下:
2.将下载下来的 v2ray 压缩文件 解压到 /usr/local/v2ray
目录:
1 | # unzip v2ray-linux-64.zip -d /usr/local/v2ray |
3.在解压目录下创建以下目录,分别用于存储 v2ray 日志,v2ray 配置文件 以及 v2ray 可执行文件:
1 | # mkdir /usr/local/v2ray/{conf,logs,bin} |
4.将解压目录下的 config.json 文件复制到上面创建的 etc 目录中,并修改成如下样式:
1 | // Config file of V2Ray. This file follows standard JSON format, with comments support. |
注意:由于我们使用的 v2ray 版本为 5.3 ,所以系统内核一定要大于 5.10, 否则在使用 v2ray 时会报如下错误:
1 | You can still disable this security feature with environment variable v2ray.vmess.aead.forced = false |
这是官方 Issues 解决方法:使用v2ray无法上网,提示安全问题
说得简单点就是,在 config.json 配置文件中要删除 "level": 1
且需要将 "alterId": 64
修改成 "alterId": 0
5.在 /lib/systemd/system/
目录下创建 v2ray.service
文件,并写入以下内容:
1 | [Unit] |
6.执行加载脚本的命令:
1 | # systemctl daemon-reload |
7.执行启动脚本的命令,并将 v2ray 设置为开机启动:
1 | # systemctl enable --now v2ray.service |
caddy 安装
1.创建运行 caddy 的用户,切记一定要创建该用户的家目录(因为后面 caddy 自动申请证书时需要将证书文件存放到家目录下):
1 | # useradd -m -s /sbin/nologin caddy |
2.创建caddy 应用结构目录:
1 | # mkdir -p /usr/local/caddy/{logs, etc, bin} |
3.点击这里下载 caddy 到上面创建的 /usr/local/caddy/bin
目录中
4.下载完成后,重命名 caddy 文件:
1 | # mv /usr/local/caddy/bin/caddy_linux_amd64 /usr/local/caddy/bin/caddy |
5.在 /usr/local/caddy/etc
目录下创建 Caddyfile
文件,内容为:
1 | your.daemon.com:443 { |
6.根据配置文件内容,在 /usr/local/caddy/logs
目录下创建 caddy.log
文件:
1 | # touch /usr/local/caddy/logs/caddy.log |
7.在 /lib/systemd/system
目录下创建 caddy 启动脚本文件 caddy2.service
, 内容为:
1 | [Unit] |
8.执行加载脚本的命令:
1 | # systemctl daemon-reload |
9.修改 caddy 目录的所属主和组为 caddy:
1 | # chown -R caddy:caddy /usr/local/caddy |
10.启动 caddy 并设置开机启动:
1 | # systemctl enable --now caddy2.service |