Closed sunboy0523 closed 1 month ago
你可以列举一下具体不太明白的点,以及希望我针对哪些方面作补充说明,我可以在博客中完善一下。
你可以列举一下具体不太明白的点,以及希望我针对哪些方面作补充说明,我可以在博客中完善一下。
谢谢,其实您博客说明已经很清晰了,主要我太菜了,我还想着直接用您部署代理后的文件修改,添加其它需要保活的应用。
你可以列举一下具体不太明白的点,以及希望我针对哪些方面作补充说明,我可以在博客中完善一下。
谢谢,其实您博客说明已经很清晰了,主要我太菜了,我还想着直接用您部署代理后的文件修改,添加其它需要保活的应用。
X-for-Serv00 这个仓库中的 app.js
针对这个项目添加了很多其他功能,比如订阅、查看进程、查看配置、重启等等,最基础的保活只需要用博客里贴出来那个就行了。举个例子,在面板中添加域名 example.com
,类型选择 nodejs
。接着把 Alist 部署在/home/LOGIN/domains/example.com/public_nodejs
这个路径下,使用64000这个端口运行 Alist。删掉/home/LOGIN/domains/example.com/public_nodejs/public/index.html
这个文件,并且把app.js
和package.json
放在alist同一路径下,接着把app.js
中的保活部分进行修改:
app.use('/', createProxyMiddleware({
target: 'http://127.0.0.1:64000', //改成 Web 应用实际运行端口
changeOrigin: true,
ws: true,
onError: (err, req, res) => {
res.writeHead(500, {
'Content-Type': 'text/plain',
});
res.end('Please wait for a while and try to refresh the page.');
},
}));
function keep_web_alive() {
exec("pgrep -laf alist", function (err, stdout, stderr) { //改成进程名,如:alist
if (stdout.includes("alist server")) { //改成进程实际运行命令,如:alist server
console.log("web 正在运行");
} else {
exec(
"chmod +x alist && ./alist server", // 改成启动脚本或者启动命令,如:chmod +x start.sh && ./start.sh 或者 ./alist server
function (err, stdout, stderr) {
if (err) {
console.log("保活-调起web-命令行执行错误:" + err);
} else {
console.log("保活-调起web-命令行执行成功!");
}
}
);
}
});
}
setInterval(keep_web_alive, 10 * 1000);
主要修改的就是app.use('/', createProxyMiddleware
部分反代的端口为 Alist 运行的端口,然后把function keep_web_alive
部分检测的进程名称、命令,以及启动的命令改成实际情况。最后执行 npm22 install
安装依赖。
接下来在浏览器中访问http://example.com
,app.js
就会被唤醒,且app.js检测到 Alist 没有运行,就会尝试将 Alist 拉起,成功拉起后,又会被反代到http://example.com
这个域名下,可以直接通过http://example.com
访问使用 Alist。至此,访问即保活,访问即唤醒就完成了。
你可以列举一下具体不太明白的点,以及希望我针对哪些方面作补充说明,我可以在博客中完善一下。
谢谢,其实您博客说明已经很清晰了,主要我太菜了,我还想着直接用您部署代理后的文件修改,添加其它需要保活的应用。
X-for-Serv00 这个仓库中的
app.js
针对这个项目添加了很多其他功能,比如订阅、查看进程、查看配置、重启等等,最基础的保活只需要用博客里贴出来那个就行了。举个例子,在面板中添加域名example.com
,类型选择nodejs
。接着把 Alist 部署在/home/LOGIN/domains/example.com/public_nodejs
这个路径下,使用64000这个端口运行 Alist。删掉/home/LOGIN/domains/example.com/public_nodejs/public/index.html
这个文件,并且把app.js
和package.json
放在alist同一路径下,接着把app.js
中的保活部分进行修改:app.use('/', createProxyMiddleware({ target: 'http://127.0.0.1:64000', //改成 Web 应用实际运行端口 changeOrigin: true, ws: true, onError: (err, req, res) => { res.writeHead(500, { 'Content-Type': 'text/plain', }); res.end('Please wait for a while and try to refresh the page.'); }, })); function keep_web_alive() { exec("pgrep -laf alist", function (err, stdout, stderr) { //改成进程名,如:alist if (stdout.includes("alist server")) { //改成进程实际运行命令,如:alist server console.log("web 正在运行"); } else { exec( "chmod +x alist && ./alist server", // 改成启动脚本或者启动命令,如:chmod +x start.sh && ./start.sh 或者 ./alist server function (err, stdout, stderr) { if (err) { console.log("保活-调起web-命令行执行错误:" + err); } else { console.log("保活-调起web-命令行执行成功!"); } } ); } }); } setInterval(keep_web_alive, 10 * 1000);
主要修改的就是
app.use('/', createProxyMiddleware
部分反代的端口为 Alist 运行的端口,然后把function keep_web_alive
部分检测的进程名称、命令,以及启动的命令改成实际情况。最后执行npm22 install
安装依赖。接下来在浏览器中访问
http://example.com
,app.js
就会被唤醒,且app.js检测到 Alist 没有运行,就会尝试将 Alist 拉起,成功拉起后,又会被反代到http://example.com
这个域名下,可以直接通过http://example.com
访问使用 Alist。至此,访问即保活,访问即唤醒就完成了。
非常感谢,我试试
谢谢您的无私分享,一直关注您serv00代理部署的库,持续都有优化更新方案,最近的保活方案效果非常好,看您博文也更新了保活方案的相关说明,小白还是不太明白,您方便的时候可以出一个单独保活的库吗?谢谢