0%

V2ray NGINX+TLS+WS 一键部署


Update at Sun Feb 9 13:13:17 CST 2020

  • 为了简化操作同时也为了一些可以自定义开机脚本的云服务厂商(如:GCP),添加了 startUp.sh
  • 当然您也可以在系统正常运行时直接执行该脚本
  • 使用方法
    1. 打开链接,全选,复制
    2. 打开可以自定义启动脚本的地方,黏贴
    3. 修改脚本首部必要的信息,如: SSL_PATH, SITE_NAME, WS_PATH, UUID, DDNS_KEY

注意:不一定 要全部填写。

  • 服务端必须填写: SITE_NAME

GCP 在实例创建时添加启动脚本

  1. 在 GCP Console 中,转到虚拟机实例页面。
  2. 点击创建实例。
  3. 在创建新实例页面上,填写实例的属性。 对于高级的配置选项,展开管理、安全、磁盘、网络、单独租用部分。
  4. 在自动化部分的启动脚本下,提供启动脚本的内容。
  5. 点击创建以创建实例。
  • 查看 v2ray, nginx 运行状态: systemctl status v2ray nginx
  • v2ray 配置文件: /etc/v2ray/config.json
  • nginx 配置文件: /etc/nginx/sites-available/default
  • v2ray 日志文件: /var/log/v2ray/*
  • nginx 日志文件: /var/log/nginx/*
  • GCP 启动脚本输出会写入以下日志文件:
    • CentOS 和 RHEL:/var/log/messages
    • Debian:/var/log/daemon.log
    • Ubuntu:/var/log/syslog
    • SLES:/var/log/messages

特别说明

  1. 如果传递了 ddns_key 参数, 将使用 dns.he.netddns 服务来对 dns 解析记录进行更新,然后使用 let's encrypt 完成证书的颁发
  2. 如果传递了 sslPath 参数,文件名和路径请尽量不要使用特殊字符。证书推荐命名方式: pem.pem, key.key. 证书将会被复制到 /etc/nginx/ssl/${网站名称}/
  3. 如果以上两者都未赋值,将使用自签证书
  4. 不推荐使用自签证书,毕竟可信度不够。

前置条件

  1. 有一个域名
  2. 有一个 dns.he.net 的账号,而且至少托管了一个域名
  3. 有一个在 dns.he.net 上托管的域名而且配置了 DDNS (动态域名解析)
  4. 一台干净的 Linux 服务器
  5. 会一些 Linux 的基本操作

开启 DDNS (非必需)

如果有,可以跳过

  1. 登录 dns.he.net 并且进入到域名管理界面
  2. 点击添加 A 记录
  3. 填写要开启 DDNS 的域名
  4. 勾选 Enable entry for dynamic dns 并点击 submit
  5. 在域名列表里面找到添加的域名,在右边 DDNS 这一栏应该有一个箭头,点击箭头
  6. 点击生成 DDNS key 或者自己填一遍
  7. DDNS key 复制出来,然后点击提交即可

alt
alt

一些假设

  1. 服务器IP为: 1.1.1.1
  2. 域名为: v2.google.com
  3. DDNS key 为: re35A5xFGdEzrRow
  4. ws 路径为: path
  5. uuid为: 85d0e39a-4571-44da-80bb-caf5f853c2ba

如何使用

  1. 登录到服务器: ssh root@1.1.1.1
  2. Clone 仓库: git clone https://github.com/IITII/AutoV2ray.git
  3. 参考例子和help,拼接参数即可
  4. Enjoy it.

例子

1
2
3
4
5
6
7
8
9
10
git clone https://github.com/IITII/AutoV2ray.git && cd AutoV2ray

bash ./v2ray -w "v2.google.com"
bash ./v2ray -w "v2.google.com"
bash ./v2ray -w "v2.google.com" -p "path"
bash ./v2ray -w "v2.google.com" -p "path" -u "85d0e39a-4571-44da-80bb-caf5f853c2ba"
bash ./v2ray -w "v2.google.com" -p "path" -u "85d0e39a-4571-44da-80bb-caf5f853c2ba" --ddns "re35A5xFGdEzrRow"
bash ./v2ray -w "v2.google.com" -p "path" -u "85d0e39a-4571-44da-80bb-caf5f853c2ba" --sslPath "/etc/nginx/ssl"

systemctl status v2ray nginx

1
2
3
4
5
6
7
8
root@test-machine# bash v2ray.sh
Usage:
draft/v2ray.sh -h, --help Show this page
draft/v2ray.sh -w siteName
draft/v2ray.sh -p, --path v2ray web socket path, default "/bin/date +"%S" | /usr/bin/base64"
draft/v2ray.sh -u, --uuid v2ray uuid
draft/v2ray.sh --ddns dns.he.net ddns's key
draft/v2ray.sh --sslPath ssl cert path

Docker 部署 (实验性)

  • 随机配置文件: docker run -d --name v2ray --restart always sikii/autov2ray
  • 指定配置文件: docker run -d --name v2ray -p 433:443 -v /path/config.json:/etc/v2ray/config.json --restart always sikii/autov2ray
  • 如果需要进行后续修改的话
    1. docker exec -it v2ray bash
    2. cd /root/AutoV2ray
    3. ./v2ray -w ... --ddns ...

有点问题?

  1. 仔细查看命令是否有问题
  2. 查看运行时终端的输出
  3. 查看 /usr/local/etc/v2ray/config.json, /var/v2ray/config.json/etc/nginx/sites-enabled/default 文件的内容
  4. systemctl status v2ray nginx; cat /var/v2ray/config.json; cat /usr/local/etc/v2ray/config.json
-------------本文结束再接再厉-------------

本文标题:V2ray NGINX+TLS+WS 一键部署

文章作者:IITII

发布时间:2020年02月08日 - 17:02

最后更新:2020年03月06日 - 10:03

原始链接:https://iitii.github.io/2020/02/08/1/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。