top
本文目录
一、搬瓦工VPS推荐
二、Rackerd VPS推荐
三、Vultr主机推荐
四、环境信息
五、搭建脚本说明
六、搭建v2ray
6.1 更新系统
6.2 安装curl
6.3 安装v2ray
6.4 启动v2ray服务
6.5 安装nginx
6.6 安装certbot并申请ssl证书
6.7 添加v2ray转发
6.9 客户端v2rayN配置
七、测试
八、出现问题
8.1 Debian系统删除、回车不好用?
8.2 Cloudflare要不要启用CDN?
8.3 Nginx 403 forbidden错误常见情形盘点?
8.4 使用v2ray访问谷歌提示异常流量?
8.5 启用cloudflare cdn之后v2ray报403错误?
8.6 防火墙端口管理
8.7 Nginx日志,访问path路径,502错误?
8.9 CentOS无法安装snap?
 备注:已安装宝塔ngingx环境的不需要单独在安装ngingx了,直接搭建站点配置转发即可。

从零开始:史上最详尽V2Ray搭建图文教程

视频教程参考: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%。

线路 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/年

 

二、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/年

 

三、Vultr主机推荐

国外VPS Vultr云主机:最低每月$2.5,免费领取$3,低价注册使用教程:

内存 CPU 硬盘 流量 价格 购买
0.5GB 1核 10GB 512GB/月 $2.5/月
0.5GB 1核 10GB 512GB/月 $3.5/月
1GB 1核 25GB 1TB/月 $5/月
2GB 1核 55GB 2TB/月 $10/月

 

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

四、环境信息

  • 服务器系统:CentOS Stream release 8;
  • 服务端v2ray-core版本:v4.44.0,地址:https://github.com/v2fly/v2ray-core/releases ;
  • 客户端Windows图形界面v2rayN:5.9,地址:https://github.com/2dust/v2rayN/releases ;
  • VPS:我使用的是digitalocean;
  • 使用的是root用户;

五、搭建脚本说明

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

六、搭建v2ray

在上一步骤购买VPS及使用xshell进行远程连接你已经购买并成功使用xshell对VPS进行了远程连接,这里假设你已经使用root用户登录成功了。下面开始安装:

6.1 更新系统

 

yum update

6.2 安装curl

 

yum install curl -y

6.3 安装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.4 启动v2ray服务

 

#启动并加入开机自启
systemctl start v2ray;systemctl enable v2ray

6.5 安装nginx

执行安装

 

yum install nginx -y

新建网页目录

这里在假设是/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.4spaces.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.6 安装certbot并申请ssl证书

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

安装snapd

 

yum install -y snapd


systemctl enable snapd

systemctl start snapd


# symlink from /snap to /var/lib/snapd/snap
ln -s /var/lib/snapd/snap /snap

确保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.7 添加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

七、测试

打开浏览器,访问www.google.com,如下:

真巧,今天春分,祝大家春风得意!

八、出现问题

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?

 备注:已安装宝塔ngingx环境的不需要单独在安装ngingx了,直接搭建站点配置转发即可。

THE END
icon
0
icon
打赏
icon
分享
icon
二维码
icon
海报