说明
- 仅简单记录部署过程
- v2ray版本号
4.26.0
,更新的版本可能不适用 - 配置参数请自行斟酌!
- 此教程使用的域名为
nginx.example.com
,请使用自己的域名进行替换! - 不保证
ctrl+c
加ctrl+v
可以直接跑起来! - 操作系统
Debian 10
服务器环境初始化
更新系统版本
1 | apt-get update |
安装软件包
1 | apt-get install -qyy \ |
配置默认编辑器
1 | update-alternatives --set editor /usr/bin/vim.basic |
配置sysctl参数
1 | cat > /etc/sysctl.d/99-debian.conf <<EOF |
修改limits参数
1 | cat > /etc/security/limits.d/99-debian.conf <<EOF |
修改时区
1 | timedatectl set-timezone Asia/Shanghai |
启动NTP网络对时
- v2ray会校验服务器时间和客户端时间
1 | systemctl enable chrony.service |
修改LANG默认值
1 | localectl set-locale LANG=en_US.UTF-8 |
禁用系统服务
1 | systemctl disable ufw.service |
重启服务器
1 | reboot |
配置HTTPS证书
安装acme.sh
1 | curl https://get.acme.sh | sh |
生成证书
可以手动生成,或者调用云服务厂商API去生成
使用acme.sh生成证书
1 | ~/.acme.sh/acme.sh --issue -d nginx.example.com --standalone --httpport 80 -k ec-256 |
调用CloudflareAPI制作通配证书
1 | export CF_Key="Your_CloudFlare_API_Key" |
调用阿里云API制作证书
1 | export Ali_Key="sdfsdfsdfljlbjkljlkjsdfoiwje" |
配置acme.sh自动更新
由于 acme 协议和 Let’sEncrypt CA 都在频繁的更新, 因此 acme.sh 也经常更新以保持同步!
1 | ~/.acme.sh/acme.sh --upgrade --auto-upgrade |
部署Nginx
安装Nginx
1 | apt-get install -y nginx |
切换目录
1 | cd /etc/nginx/conf.d/ |
清空default配置
1 | /etc/nginx/sites-available/default |
修改默认配置
/etc/nginx/nginx.conf
修改一下默认的woker_connections
1 | events { |
创建配置文件
- 用于反代v2ray的配置文件
1 | server { |
安装证书
- 证书拷贝到对应路径
- 这里把证书安装到nginx配置文件中定义的路径!
- renew证书之后需要reload Nginx服务才能重新加载证书文件
1 | ~/.acme.sh/acme.sh --installcert \ |
检查nginx配置是否正确
1 | nginx -t |
启动nginx
1 | systemctl start nginx.service |
配置开机自启动
1 | systemctl enable nginx.service |
部署v2ray
下载v2ray
官方提供最新版本的v2ray安装脚本
1 | bash <(curl -L -s https://install.direct/go.sh) |
生成UUID
- 用v2ctl生成UUID
1 | /usr/bin/v2ray/v2ctl uuid |
UUID示例
09541c2b-134b-4eba-a38a-ff8963682ae3
配置v2ray服务端
修改
/etc/v2ray/config.json
1 | { |
检查配置文件
1 | /usr/bin/v2ray/v2ray -test /etc/v2ray/config.json |
启动v2ray
1 | systemctl daemon-reload |
配置开机自启动
1 | systemctl enable v2ray.service |
附systemd配置
1 | /etc/systemd/system/v2ray.service |
配置统计脚本
调用API统计
- V2Ray 内包含了流量记录器功能
- 查看流量信息是
v2ctl
的其中一个功能 - 可以用简单的 shell 脚本 awk 工具来处理,生成足够可读的报表
- 创建shell脚本,通过添加
reset
参数清零
1 | !/bin/bash |
- 执行效果
1 | ./traffic.sh |
修改统计脚本
- 参考上面的脚本修改一下
记录用户流量
/usr/local/bin/v2ray-traffic-usage.sh
1 | !/bin/bash |
- 输出结果
1 | 日期_时间 用户名 字节数 单位 |
配置systemd服务
- 每次执行时重置统计数据
1 | [Unit] |
配置systemd定时器
- 每分钟触发一次systemd服务
1 | [Unit] |
- 启动systemd定时器
1 | systemctl daemon-reload |
解析流量日志
/usr/local/bin/v2ray-sum.sh
1 | !/bin/bash |
- 执行结果
1 | ============2020-09当月统计============ |