视频教程参考:Debian 系统基于 nginx 搭建 v2ray 服务端配置 vmess+tls+websocket 详细教程

篇首语:科学上网(fanqiang)的大体原理都是通过一台在防火墙之外的 VPS 作为媒介,实现国内网络和防火墙之外的网络之间的互通,因此一台不受防火墙骚扰的 VPS 是必备的。而 v2ray 负责的是你的网络和 VPS 之间的网络通信功能。借助 V2ray 你可以实现透过防火墙,自由穿梭于网络。你需要做的是分别在你的设备(手机、PC 等)和 VPS 上分别部署一下 V2ray。

搭建 v2ray 的步骤大体如下:

  • 购买一个 VPS,购买后你会获得 VPS 的 IP、root 用户及密码、SSH 端口等信息;
  • 登录 VPS,可以借助Xshell这个工具;
  • 安装 v2ray,使用 xshell 成功登录 VPS 后,开始搭建;
  • 在你的设备上配置与 VPS 对应的 v2ray 信息,就可以成功使用了;

在开始下面的搭建工作之前,请自行购买 VPS 并获得 VPS 的相关连接信息,保证能通过 Xshell 等远程连接工作连接后才能进行搭建,不论使用哪家的 VPS,第一步是购买完 VPS 之后,获取到 VPS 的 IP、root 用户及密码、SSH 端口等信息,本文主要说明搭建过程,因此这里将购买 VPS 及使用 XSHELL 进行连接的过程放在:史上最详细搬瓦工 VPS 注册/购买图文教程(内附优惠券)

正文开始之前,先插播个广告,推荐一些性价比较高的 VPS,有购买 VPS 打算的,可以使用我的推介链接,这样你不仅可以优惠购买,我也会得到一定的返券,感谢你对我写文创作的支持!没有购买 VPS 打算的,可以跳过这一部分。

一、搬瓦工 VPS 推荐

速度、性价比都较好: 老牌商家,一分价钱一分货,套餐选择上肯定是越好的越贵,选择适合自己的,但从速度上来说,VPS 速度:香港线路 > CN2 GIA 线路 > CN2 线路 > 普通线路。搬瓦工优惠券: BWH3HYATVBJW,此券为全网当前最高优惠力度:6.58%。

二、Rackerd VPS 推荐

性价比较高: 提供大流量、大硬盘,支持 PayPal、支付宝、微信等多种付款方式,电信走 CN2 GT,联通直达机房(极佳),移动强制走联通链路,算是非 CN2 线路之外优化的相当不错的。

三、Vultr 主机推荐

国外 VPS Vultr 云主机:最低每月$2.5。

下面再来通过图文,来详细说明上面的步骤。

四、环境信息

  • 服务器系统:Debian GNU/Linux 10
  • 服务端:v2ray-core v5.1.0;
  • 客户端:v2rayN v5.38 ;

五、搭建脚本说明

使用到的官网安装脚本:https://github.com/v2fly/fhs-install-v2ray,该脚本在执行时会提供 info 和 error 等信息,请仔细阅读。

六、开始搭建

提个醒:搭建的过程中难免会碰到一些错误和难题,每个人的服务器版本之类的都有区别。

6.1 连接 VPS

6.2 更新

apt update

6.3 安装 curl

apt install curl

6.4 安装 v2ray

使用 curl 进行安装

bash <(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh)

输入vi /usr/local/etc/v2ray/config.json命令,编辑配置文件的内容为以下内容:

{
        "log": {
            "access": "/var/log/v2ray/access.log",
            "error": "/var/log/v2ray/error.log",
            "loglevel": "warning"
        },
        "inbounds": [{
                "port": 11055,
                "protocol": "vmess",
                "settings": {
                    "clients": [{
                            "id": "27848739-7e62-4138-9fd3-098a63964b6b",
                            "level": 1,
                            "alterId": 0
                        }
                    ]
                },
                "streamSettings": {
                    "network": "ws",
                    "wsSettings": {
                        "path": "/tech"
                    }
                }
            }
        ],
        "outbounds": [
            {
                "protocol": "freedom"
            }
        ]
    }

6.5 启动 v2ray 服务

启动并加入开机自启

systemctl start v2ray
systemctl enable v2ray

6.6 安装 nginx

执行安装

apt install -y nginx

新建网页目录

这里在假设是/root/www

mkdir -p /root/www

新建首页

/root/www目录下新建一个index.html文件,

vi /root/www/index.html

内容如下:

<!doctype html>
<html lang="en">
 <head>
   <meta charset="utf-8">
   <title>Hello Word</title>
 </head>
 <body>
   <div>
     <h1>Hello Word</h1>
   </div>
 </body>
</html>

新建配置文件

注: 不同版本的 nginx 配置文件可能有区别,我的是nginx/1.18.0,配置文件/etc/nginx/sites-enabled/default。或者你的配置文件可能在/etc/nginx/conf.d/default.conf

输入vi /etc/nginx/sites-enabled/default命令,编辑 nginx 配置文件为如下内容:

    server{
        listen 80;
        server_name v1.xxxx.com;
        index index.html;
        root /root/www/;
    }

这里你可能需要将/etc/nginx/nginx.conf中第一行user www-data改为user root,即当前用户。

启动 nginx 服务

启动Nginx并设置为开机自启

systemctl start nginx
systemctl enable nginx

查看nginx启动状态

systemctl status nginx

在浏览器里访问v1.xxxx.com,如果正常则说明 nginx 配置没问题,这是是没有加密的,不带 HTTPS 的网址:http://v1.xxxx.com

6.7 安装 certbot 并申请 ssl 证书

详细的申请证书流程参考: certbot instructions – Nginx on Debian 10 (buster)。具体如下:

安装 snapd

apt install -y snapd

确保 snapd 为最新版本

snap install core; snap refresh core

安装 certbot

snap install --classic certbot

创建软链

ln -s /snap/bin/certbot /usr/bin/certbot

申请证书

运行certbot --nginx开始申请证书,如下:

install-v2ray-on-debian-2021-1.jpg

稍等一会,会提示证书安装成功! 你会发现 nginx 的配置已经更改,我的/etc/nginx/sites-enabled/default文件被自动修改为以下内容:

    server{
        server_name v1.xxxx.com;
        index index.html;
        root /root/www/;

        listen 443 ssl; # managed by Certbot
        ssl_certificate /etc/letsencrypt/live/v1.xxxx.com/fullchain.pem; # managed by Certbot
        ssl_certificate_key /etc/letsencrypt/live/v1.xxxx.com/privkey.pem; # managed by Certbot
        include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
        ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

    }
    server{
        if ($host = v1.xxxx.com) {
            return 301 https://$host$request_uri;
        } # managed by Certbot

        listen 80;
        server_name v1.xxxx.com;
        return 404; # managed by Certbot
    }

此时,在浏览器里访问v1.xxxx.com已经是https开头的了,地址:https://v1.xxxx.com

6.8 添加 v2ray 转发

/etc/nginx/sites-enabled/default更改为以下内容:

    server{
        server_name v1.xxxx.com;
        index index.html;
        root /root/www/;

        listen 443 ssl; # managed by Certbot
        ssl_certificate /etc/letsencrypt/live/v1.xxxx.com/fullchain.pem; # managed by Certbot
        ssl_certificate_key /etc/letsencrypt/live/v1.xxxx.com/privkey.pem; # managed by Certbot
        include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
        ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

       ## 添加这部分内容,22055对应/usr/local/etc/v2ray/config.json 里面inbounds端口
       ## /tech客户端配置的时候需要,对应/usr/local/etc/v2ray/config.json streamSettings里的path
        location /tech {
            proxy_redirect off;
            proxy_pass http://127.0.0.1:11055;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_set_header Host $http_host;
        }
    }
    server{
        if ($host = v1.xxxx.com) {
            return 301 https://$host$request_uri;
        } # managed by Certbot

        listen 80;
        server_name v1.xxxx.com;
        return 404; # managed by Certbot
    }

然后运行systemctl restart nginx重启 nginx。

6.9 客户端 v2rayN 配置

大体截图:

imagebc966e5426ace866.png

6.10 使用 Google BBR 开启加速

细节参考: Debian 9/10 快速开启 Google BBR 实现 v2ray 高效单边加速

观看 Youtube 4k 高清视频,播放速度还可以:

racknerd-youtube-4k.jpg

6.11 优化网络,隐藏真实 IP

细节参考: 安装 warp 解决 Google 搜索出现人机验证、解锁 Netfix 非自制剧最新教程

七、卸载

执行脚本的卸载命令即可:

bash <(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh) --remove
最后修改:2023 年 02 月 14 日
如果觉得我的文章对你有用,请随意赞赏o(* ̄▽ ̄*)ブ