优米格
分享有营养的

2022最新版本v2ray搭建过程图文教程(vmess+tls+websocket)

BraUndress.png

本文搭建方式:VMess+WS(websocket)+TLS,可以提前看一下出现问题一节,对可能出现的情况有所了解,开始之前,请先将自己的域名解析到自己VPSS对应的IP地址。

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

一、搬瓦工VPS推荐

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

线路 CPU 内存 硬盘 带宽 流量 价格 购买链接
CN2(推荐) 1x Intel Xeon 1024 MB 20 GB SSD 1 Gbps 1 TB/月 $49.99/年 购买
CN2 GIA(特别推荐) 2x Intel Xeon 1 GB 20GB SSD 2.5 Gbps 1000GB/月 $169.99/年 购买

更多可选超高性价比套餐参见:搬瓦工VPS套餐

二、Rackerd VPS推荐

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

内存 CPU SSD 流量 价格 购买
768MB 1核 12GB 1T/月 $10.88/年 链接
2G 2核 35GB 4T/月 $24.98/年 链接
3GB 3核 45GB 6.5T/月 $24.28/年 链接

更多可选超高性价比套餐参见:Racknerd VPS套餐

三、OLVPS VPS推荐

便宜、低价: 入门级KVM VPS推荐,OLVPS成立于2018年,走的是性价比路线,支持支付宝付款,适合新手。

内存 CPU 硬盘 流量 价格 购买
384MB 1核 5GB 512GB/月 ¥8/月 链接
768MB 2核 5GB 1T/月 ¥15/月 链接
1GB 3核 20GB 2T/月 ¥30/月 链接

更多可选超高性价比套餐参见:OLVPS VPS 套餐

四、搭建脚本说明

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

五、环境信息

  • 系统:Debian GNU/Linux 10
  • 这里使用的root用户
  • v2ray-core版本:v4.44.0,地址:https://github.com/v2fly/v2ray-core/releases ;
  • v2rayN:5.9,地址:https://github.com/2dust/v2rayN/releases ;

六、开始搭建

6.1连接VPS

这篇文章里有使用xshell远程连接VPS的细节。

6.2更新

apt update

6.3安装curl

apt install curl

6.4安装v2ray

使用curl进行安装

// 安裝執行檔和 .dat 資料檔
bash <(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh)

在安装过程中,会打印详细的安装说明,里面有使用的配置文件信息,显示配置文件在/usr/local/etc/v2ray/config.json这个位置。

输入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

内容如下:

<html>
   <title>欢迎访问四个空格</title>
   <head><meta charset="UTF-8"></head>
   <body>
     <a href="https://www.yomige.org/install-v2ray-v-4-44-on-debian-2022/">四个空格</a>
   </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

八、出现问题

8.1 Debian系统删除、回车不好用?

参考:解决Debian vim鼠标无法选中、复制问题

8.2 Cloudflare要不要启用CDN?

启用后比较慢,针对国内,作用可能会隐藏真实IP,除非IP被墙,大概率你是不需要启用的。

8.3 Nginx 403 forbidden错误常见情形盘点?

如果访问你的域名,nginx日志出现403错误,可以参考这篇文章:Nginx 403 forbidden错误常见情形盘点

8.4 使用v2ray访问谷歌提示异常流量?

解决办法详见: 使用v2ray访问谷歌提示异常流量

8.5 启用cloudflare cdn之后v2ray报403错误?

解决办法详见: 启用cloudflare cdn之后v2ray报403错误

8.6 防火墙端口管理

解决办法详见: CentOS开放端口的方法

8.7 Nginx日志,访问path路径,502错误?

解决办法详见: SELinux服务器Nginx反向代理返回502错误问题

8.9 CentOS无法安装snap?

解决办法详见: 如何在CentOS 8上安装Snap?

九、问题交流

  • Telegram群组

在学习的过程中遇到任何问题都可以加入Telegram群组进行交流-> 加入群组

  • 邮件:

有问题您可以可以通过邮件进行沟通:欢迎联系

赞(9)
未经允许禁止转载:优米格 » 2022最新版本v2ray搭建过程图文教程(vmess+tls+websocket)

评论 27

  1. #1

    按照教程网页能显示,用233的v2ray的改完ws后连接不能访问网络。

    阿布2年前 (2022-10-16)回复
  2. #2

    域名必须是.com吗

    HY2年前 (2022-11-14)回复
    • 不是的,什么都行。

      巴巴主机2年前 (2022-11-14)回复
  3. #3

    网页设置好以后显示welcome to nginx

    HY2年前 (2022-11-14)回复
    • 说明你的Nginx配置文件是默认的,看下你用的配置文件。

      巴巴主机2年前 (2022-11-14)回复
      • 我解决了,Nginx配置在另一个目录下,这两个目录是随机选一个的吗?我重装了vps的系统,发现Nginx配置选择了不同的目录

        HY2年前 (2022-11-15)回复
        • 这个看个人喜好,也跟Nginx版本有关,最早是/etc/nginx/conf.d/ ,目前/etc/nginx/site-enabled下的是启动的配置文件。这两个位置都可以,因为都在/etc/nginx/nginx.conf里指定了。

          巴巴主机2年前 (2022-11-19)回复
  4. #4

    Warp引用的文件失效了,这个有更新吗?或者有什么解决办法

    HY2年前 (2022-11-15)回复
    • 你试试这一个:https://www.yomige.org/1233.html ,最近我用的是这个,还可以,但是也有概率,有时一下就刷到了,有时得好几天。

      巴巴主机2年前 (2022-11-19)回复
  5. #5

    版主,这两个问题不方便回答吗?

    HY2年前 (2022-11-19)回复
    • 不好意思,本来要回复的,后来忘了

      巴巴主机2年前 (2022-11-19)回复
      • 好的,搞定了,多谢

        HY2年前 (2022-11-20)回复
  6. #6

    版主,我换了ip然后重新配置后,网页无法访问,显示拒绝了我们的连接请求,申请证书前的步骤应该都完成了,不知道问题出在哪

    HY2年前 (2022-11-23)回复
    • 换IP之后,你的域名得重新解析,把Ip地址换成新的

      巴巴主机2年前 (2022-11-26)回复
  7. #7

    甚至我用站长之家去查域名网址,已经可以查到我vps的ip了

    HY2年前 (2022-11-24)回复
  8. #8

    昨天傍晚重启了几次nginx恢复了,结果今天下午又失效了,打开域名网站,响应时间过长无法访问此网站…
    这个问题应该出在哪里?是racknerd的vps崩了吗?还是cloudflare哪里设置需要调整?

    HY2年前 (2022-11-25)回复
  9. #9

    hello站长,我在浏览器里访问xxx.com可以显示新建的首页,但是加上v1.xxx.com后却无法显示,报错是:响应时间过长。“v1”也有添加进二级域名解析。这是为何呢?
    另外“/etc/nginx/sites-enabled/default”配置文件的修改,是吧里面的内容全部删除再替换成server{
    listen 80;
    server_name v1.xxxx.com;
    index index.html;
    root /root/www/;
    }这个吗?

    YQ2年前 (2023-01-02)回复
    • 是的。如果v1.xxx.com无法限制,得看你的nginx的具体配置了,是不是把这个地址也添加到了配置里。

      优米格2年前 (2023-01-02)回复
      • 你好,上次问添加v1之后无法访问的问题已经解决。
        但是接着我在完成“步骤6.7”,添加证书后网站直接显示:
        “404 Not Found nginx/1.14.2”
        查看配置,确实是按照你的教程填写。
        尝试删除证书后,网站又可以正常访问。
        请问要怎么排查问题呢?

        YQ2年前 (2023-01-16)回复
        • 404就是访问的地址没找到,得看下你具体的访问地址以及你nginx配置和访问的地址对应起来了吗

          优米格2年前 (2023-01-17)回复
  10. #10

    ssl 证书 过期了 ,续签可不可以,curl https 提示证书过去 应该怎么解决

    驴子2年前 (2023-03-24)回复
    • 弄个定时任务,自动续签。

      优米格2年前 (2023-03-26)回复
      • 问题找到了 443 端口被封了

        驴子2年前 (2023-03-29)回复
  11. #11

    443 端口被封 怎么使用WS

    驴子2年前 (2023-03-24)回复
    • 不用443端口也行,只不过地址上需要加个对应端口。哪家主机,看看能申请更换吗

      优米格2年前 (2023-03-26)回复
      • 怎么加对应端口?

        66882年前 (2023-04-30)回复
  12. #12

    请问版主,这个机制,现在很容易被封端口,请问有什么更好的办法吗?

    大白2年前 (2023-05-10)回复

合作&反馈&投稿

商务合作、问题反馈、投稿,欢迎联系

广告合作侵权联系