解决serv00重启后pm2list消失的方法
由于某种不可抗力,在serv00自动重启之后pm2 list会自动还原成没有应用存在的情况。
我的解决办法就是把.pm2
文件夹下面的dump.pm2
文件放到其他地方,然后再建立软链接,确保pm2读取时文件的位置不变
mv ~/.pm2/dump.pm2 /home/xxx/opt/dump.pm2
ln -s /home/xxx/opt/dump.pm2 ~/.pm2/dump.pm2
由于某种不可抗力,在serv00自动重启之后pm2 list会自动还原成没有应用存在的情况。
我的解决办法就是把.pm2
文件夹下面的dump.pm2
文件放到其他地方,然后再建立软链接,确保pm2读取时文件的位置不变
mv ~/.pm2/dump.pm2 /home/xxx/opt/dump.pm2
ln -s /home/xxx/opt/dump.pm2 ~/.pm2/dump.pm2
Additional services -> Run your own applications -> Enabled
如果不开启这一项,自己的用户目录下的所有文件都无法添加可执行权限。 ____ ___ ___
/ ___| ___ _ ____ __/ _ \ / _ \ ___ ___ _ __ ___
\___ \ / _ \ '__\ \ / / | | | | | |/ __/ _ \| '_ ` _ \
___) | __/ | \ V /| |_| | |_| | (_| (_) | | | | | |
|____/ \___|_| \_/ \___/ \___(_)___\___/|_| |_| |_|
Revolutionary Free Hosting
=[ Basic account info ]=
Username: xxx
Plan: FREE
Expiration date: 2034-03-13 02:18:41
PM2 是一款非常优秀的node.js
进程管理工具。可以通过SSH用下面的指令一键安装。
bash <(curl -s https://raw.githubusercontent.com/k0baya/alist_repl/main/serv00/install-pm2.sh)
使用pm2
,请直接用路径调用:~/.npm-global/bin/pm2
,例如~/.npm-global/bin/pm2 list
就可以看到自己添加的应用。
回到之前登录的 ssh 界面
输入 uname -a
查看服务器系统
FreeBSD s2.serv00.com 13.2-RELEASE-p10 FreeBSD 13.2-RELEASE-p10 #4 releng/13.2-n254661-a839681443b6-dirty: Tue Feb 20 23:03:40 CET 2024 [email protected]:/usr/obj/usr/src/amd64.amd64/sys/devil amd64
我这儿返回的是这样的,FreeBSD amd64
cd ./domains/
mkdir v2ray
cd v2ray
wget https://github.com/v2fly/v2ray-core/releases/download/v5.14.1/v2ray-freebsd-64.zip #选择对应系统的版本下载v2ray
(可以不用看)
由于没有 root 权限,我们无法使用官方提供的一键安装脚本,只能自行手动安装。前往 https://github.com/v2fly/v2ray-core/releases 找到你的系统版本所对应的 v2ray 版本
我这个服务器的系统是FreeBSD amd64
,那么我就找的是freebsd-64.zip
右键这个 zip 地址,复制下载连接。
然后回到 ssh 中,输入代码
等待下载完成之后,ls
查看当前目录文件,可以看到这个 zip 包已经在这个目录里了。
还是在刚刚的 v2ray 目录下
unzip v2ray-freebsd-64.zip #这边换成你刚刚下载的对应的zip包
然后等待解压完成,再执行 ls
命令时能看到很多个文件
./v2ray version
先验证下能否正常启动V2Ray 5.14.1 (V2Fly, a community-driven edition of V2Ray.) Custom (go1.22.0 freebsd/amd64) A unified platform for anti-censorship.
我这边正确的返回版本号了,如果提示其他异常的话,请检查一下下载的 v2ray 版本是否是你服务器系统所适配的版本。
./v2ray uuid
这边生成一个 uuid 后面配置的时候会用到
在serv00的管理页面上开启一个端口,Port reservation -> Add port
添加一个TCP
的端口号。再在File Manager
里面找到v2ray
的文件下的config.json
文件,把里面内容替换为下面内容。其中port和id需要改动。
{
"log": {
"loglevel": "warning"
},
"routing": {
"domainStrategy": "AsIs",
"rules": [
{
"type": "field",
"ip": [
"geoip:private"
],
"outboundTag": "block"
}
]
},
"inbounds": [
{
"listen": "0.0.0.0",
"port": xxxx, //你的端口
"protocol": "vless",
"settings": {
"decryption":"none",
"clients": [
{
"id": "你的uuid"
}
]
},
"streamSettings": {
"network": "tcp"
}
}
],
"outbounds": [
{
"protocol": "freedom",
"tag": "direct"
},
{
"protocol": "blackhole",
"tag": "block"
}
]
}
pm2 start ./v2ray --name my-v2ray -- run
~/.npm-global/bin/pm2 save
接着去你的代理客户端软件中手动添加vless配置即可:
Key | Value |
---|---|
地址 | Panel 中 WWW Websites 选项卡里的你的 Domain name |
端口 | 你放行的端口 |
用户 ID | uuid |
上表没有给出的可以不填。
听说serv00
会不定时重启机器,所以我们把PM2
添加开机自启。而且serv00
每三个月内必须要有一次登录面板或者SSH
连接,不然会删号,也可以通过一个脚本解决问题,接下来我会详细说明。
新建 auto-renew.sh 脚本:
cat > auto-renew.sh << EOF
#!/bin/bash
while true; do
sshpass -p '密码' ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -tt 用户名@地址 "exit" &
sleep 259200 #30天为259200秒
done
EOF
我是新建了一个opt
目录,在opt
目录下创建这个脚本。另外记得把其中的密码、用户名、ssh的地址修改为你自己的。
给 auto-renew.sh
添加可执行权限:
chmod +x auto-renew.sh
使用PM2启动:
~/.npm-global/bin/pm2 start ./auto-renew.sh
这样就会每隔一个月自动执行一次SSH
连接,自己SSH
自己进行续期。
在serv00的管理页面上找到Cron jobs
选项卡,使用Add cron job
功能添加任务,Specify time
选择After reboot
,即为重启后运行。Form type
选择Advanced
,Command
写:
/home/你的用户名/.npm-global/bin/pm2 resurrect
添加完之后,在SSH
窗口保存PM2
的当前任务列表快照:
~/.npm-global/bin/pm2 save
这样每次serv00
不定时重启任务时,都能自动调用PM2
读取保存的任务列表快照,恢复任务列表。如果在保存了任务列表快照后又改变了任务PM2
的任务列表,需要重新执行pm2 save
以更新任务列表。
参考链接: