Linux服务器部署v2ray
最近很多docker镜像仓库挂了,又不想弄代理库,那干脆直接用v2ray吧。
开始之前,请自备v2ray支持的节点。我是
root用户登录,如果其他用户登录,记得所有命令前加sudo。
小白教程,跟着执行命令即可。
这里演示debian12。
安装和配置v2ray
执行命令,耐心等待
apt update -y && apt install -y curl && apt install unzip
前往https://github.com/v2fly/v2ray-core下载最新版本的v2ray-linux-64.zip上传到/home/下
执行命令
cd /home && unzip /home/v2ray-linux-64.zip
# 安装二进制文件
install -m 755 /home/v2ray /usr/local/bin/v2ray
# 安装数据文件
mkdir -p /usr/local/share/v2ray
install -m 644 /home/geoip.dat /usr/local/share/v2ray/geoip.dat
install -m 644 /home/geosite.dat /usr/local/share/v2ray/geosite.dat
# 安装配置文件
mkdir -p /usr/local/etc/v2ray
install -m 644 /home/config.json /usr/local/etc/v2ray/config.json
# 创建日志目录并设置日志文件
mkdir -p /var/log/v2ray
touch /var/log/v2ray/access.log
touch /var/log/v2ray/error.log
chown nobody:nogroup /var/log/v2ray/access.log /var/log/v2ray/error.log
# 安装systemd服务文件
install -m 644 /home/systemd/system/v2ray.service /etc/systemd/system/v2ray.service
install -m 644 /home/systemd/system/v2ray@.service /etc/systemd/system/v2ray@.service
# 重新加载systemd守护进程
systemctl daemon-reload
执行命令cd /usr/local/etc/v2ray
准备好自己的配置文件,windows打开自己用的v2ray客户端,选择一个节点(vmess节点),右键点击”导出所选服务器为客户端
修改目录/usr/local/etc/v2ray/下config.json的文件内容,将刚刚的配置文件粘贴到里面,并且记住配置文件里面的http端口和socks端口,在inbounds.port,这里示例分别为10808和10809
执行命令
# 启动V2ray
systemctl start v2ray
# 检查V2ray状态
systemctl status v2ray
# 【这条不用执行,后面有办法】设置V2ray开机自启动
systemctl enable v2ray
# 【这条不用执行】重启
systemctl restart v2ray
执行下面命令
vi ~/.bashrc
往文件里面加入下面内容,记得将端口修改成上面配置文件的端口,同时粘贴时记得保证格式正确
startvpn(){
# 启动 v2ray 服务
systemctl start v2ray
# 设置环境变量代理
export proxy='http://127.0.0.1:10809'
export http_proxy=$proxy
export https_proxy=$proxy
export ftp_proxy=$proxy
export all_proxy=$proxy
export no_proxy='localhost,127.0.0.1,::1'
echo "设置代理"
echo "当前IP: $(curl -s ip.sb)"
}
stopvpn(){
# 停止 v2ray 服务
systemctl stop v2ray
# 取消环境变量代理
unset http_proxy
unset https_proxy
unset ftp_proxy
unset all_proxy
unset no_proxy
echo "取消代理"
echo "当前IP: $(curl -s ip.sb)"
}
执行下面命令,使其生效
source ~/.bashrc
此时,要开启代理,就执行startvpn,关闭代理就执行stopvpn,同时会打印代理的ip验证是否开关成功
开启代理,执行命令curl http://www.google.com,如果能获得html内容,即成功
Docker相关
自行安装docker和docker-compsoe,比较简单,这里不做教程了【[传送门]()】
执行命令
mkdir -p /etc/systemd/system/docker.service.d && vi /etc/systemd/system/docker.service.d/http-proxy.conf
写入下面内容,注意格式别乱,端口同上
[Service]
Environment="HTTP_PROXY=http://127.0.0.1:10809"
Environment="HTTPS_PROXY=http://127.0.0.1:10809"
Environment="NO_PROXY=localhost,127.0.0.1"
执行命令
mkdir -p ~/.docker && vi ~/.docker/config.json
写入下面内容,注意格式别乱,端口同上
{
"proxies": {
"default": {
"httpProxy": "http://127.0.0.1:10809",
"httpsProxy": "http://127.0.0.1:10809",
"noProxy": "localhost,127.0.0.1"
}
}
}
执行命令systemctl daemon-reload && systemctl restart docker
此时可以尝试拉取镜像了,例如docker run hello-world
如果没遇到问题可以忽略
验证 Docker Compose 是否正确安装:
docker-compose --version
# 如果出现Segmentation fault或者未找到命令,则重新按装
rm /usr/local/bin/docker-compose
curl -L "https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
其他问题前往询问ChatGPT
提问前记得和它说”我的xxx服务器安装并且开启了v2ray代理,目前遇到xxx,怎么解决?“
【传送门】