Centos6.x 离线安装V2ray 方法 (解决 env: /etc/init.d/v2ray: No such file or directory)

【注意:此文章为博主原创文章!转载需注意,请带原文链接,至少也要是txt格式!】
手动安装步骤如下:
1] 下载并解压V2Ray程序
首先下载V2Ray的发行版程序,解压压缩包并查看目录中的文件。
# wget https://github.com/v2ray/v2ray-core/releases/download/v3.24/v2ray-linux-64.zip
# unzip v2ray-linux-64.zip
# cd v2ray-v3.24-linux-64
# ll -a
V2Ray的程序目录文件详情如图.1所示,其中v2ray
和v2ctl
是V2Ray的主程序和控制程序;geoip.dat
和geosite.dat
是程序所需要数据文件;systemd
和systemv
两个目录中包含了用于生成服务的文件。为了可以使用预先设置好的服务文件,需要把文件移动至正确位置。
2] 将文件移动至正确位置
根据V2Ray的安装脚本,会自动在如下目录生成如下文件:
- /usr/bin/v2ray/v2ray
- /usr/bin/v2ray/v2ctl
- /etc/v2ray/config.json
- /usr/bin/v2ray/geoip.dat
- /usr/bin/v2ray/geosite.dat
于是现在要做的就是将文件移动至相应位置:
# mkdir /usr/bin/v2ray
# cp v2ray /usr/bin/v2ray/v2ray
# cp v2ctl /usr/bin/v2ray/v2ctl
# cp geoip.dat /usr/bin/v2ray/geoip.dat
# cp geosite.dat /usr/bin/v2ray/geosite.dat
# mkdir /etc/v2ray/
# cp vpoint_vmess_freedom.json /etc/v2ray/config.json
最后一条命令是将当前的vpoint_vmess_freedom.json
配置文件复制到指定位置,并修改其为config.json
。由于V2Ray是不区分服务端和客户端的,同一个程序可以配置成服务器也可以配置成客户端,程序目录中的vpoint_vmess_freedom.json
一般用于配置服务器,而vpoint_socks_vmess.json
用于配置成为客户端。
如果需要看如何配置,请移步:v2ray 简易配置示例 (服务端+客户端)
3] 生成V2Ray服务
为了使用方便,一般将V2Ray配置成 service 服务,还记得程序目录中两个文件夹么,里面保存了systemd和systemv两种系统服务的服务文件,
但是注意,Centos6就需要自己手动创建服务。首先把下面的代码保存为名字是v2ray无后缀的文件:
#!/bin/sh
#
# v2ray Startup script for v2ray
#
# chkconfig: - 24 76
# processname: v2ray
# pidfile: /var/run/v2ray.pid
# description: V2Ray proxy services
#
### BEGIN INIT INFO
# Provides: v2ray
# Required-Start: $network $local_fs $remote_fs
# Required-Stop: $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: V2Ray proxy services
# Description: V2Ray proxy services
### END INIT INFO
DESC=v2ray
NAME=v2ray
DAEMON=/usr/bin/v2ray/v2ray
PIDFILE=/var/run/$NAME.pid
LOCKFILE=/var/lock/subsys/$NAME
SCRIPTNAME=/etc/init.d/$NAME
RETVAL=0
DAEMON_OPTS="-config /etc/v2ray/config.json"
# Exit if the package is not installed
[ -x $DAEMON ] || exit 0
# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME
# Source function library.
. /etc/rc.d/init.d/functions
start() {
local pids=$(pgrep -f $DAEMON)
if [ -n "$pids" ]; then
echo "$NAME (pid $pids) is already running"
RETVAL=0
return 0
fi
echo -n $"Starting $NAME: "
mkdir -p /var/log/v2ray
$DAEMON $DAEMON_OPTS 1>/dev/null 2>&1 &
echo $! > $PIDFILE
sleep 2
pgrep -f $DAEMON >/dev/null 2>&1
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
success; echo
touch $LOCKFILE
else
failure; echo
fi
return $RETVAL
}
stop() {
local pids=$(pgrep -f $DAEMON)
if [ -z "$pids" ]; then
echo "$NAME is not running"
RETVAL=0
return 0
fi
echo -n $"Stopping $NAME: "
killproc -p ${PIDFILE} ${NAME}
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f ${LOCKFILE} ${PIDFILE}
}
reload() {
echo -n $"Reloading $NAME: "
killproc -p ${PIDFILE} ${NAME} -HUP
RETVAL=$?
echo
}
rh_status() {
status -p ${PIDFILE} ${DAEMON}
}
# See how we were called.
case "$1" in
start)
rh_status >/dev/null 2>&1 && exit 0
start
;;
stop)
stop
;;
status)
rh_status
RETVAL=$?
;;
restart)
stop
start
;;
reload)
reload
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|status|reload|restart}" >&2
RETVAL=2
;;
esac
exit $RETVAL
保存文件的时候很容易出现问题,我就遇到了,比较坑!!!下面有解决方案!!!
然后把这个文件保存到 /etc/init.d/ 目录下,完整的就是/etc/init.d/v2ray
然后执行下面的命令:
sudo chmod +x /etc/init.d/v2ray
sudo chkconfig v2ray on
sudo service v2ray start
sudo mkdir /var/log/v2ray/
现在V2Ray程序就已经正常运行并且已经成功添加至系统服务,之后就可以使用以下命令将其设置为系统自动启动:
service v2ray start
以上就是CentOS 6系统手动安装V2Ray的全部过程。希望对各位想搭梯子的朋友有所帮助。
------------【遇到以下报错解决方法】-----------
如果遇到下面的报错
env: /etc/init.d/v2ray: No such file or directory
/etc/init.d/v2ray: line 29: /lib/init/vars.sh: No such file or directory
-bash: /etc/init.d/ No such file or directory
那么就是你上面v2ray文件保存有问题,注意,重点来了!!!!!!
你可能是在Windows下保存的v2ray的文件,这样会导致文件每个换行的结尾都有\r\n 或者结尾携带了ASCII 10,13 再或者每行结尾携带了 0x0D 0x0A
所以你需要把\r\n替换为\n, 或者把上面对应的替换为ASCII 10 再或者替换为 0x0A
然后再保存,再上传到/etc/init.d/ 目录下 然后再执行命令即可解决问题!!!!
文字参考:https://www.rultr.com/tutorials/proxy/2699.html
https://install.direct/go.sh
https://www.linuxquestions.org/questions/ubuntu-63/error-env-etc-init-d-snortd-no-such-file-or-directory-trying-to-start-service-922358/
https://github.com/v2ray/v2ray-core/issues/101#issuecomment-214670792%5D
布施恩德可便相知重
微信扫一扫打赏
支付宝扫一扫打赏