Claw cloud 容器 VPS 安装 Node.js 开发环境,搭建 Uptime Kuma 免费开源监控神器
Claw cloud | 容器vps | Uptime Kuma | Node.js | nvm | 监控工具
注册地址:【点击直达】 Claw Cloud
注册奖励:$5 美元额度(无需信用卡)
GitHub 绑定福利:GitHub 账号 ≥180 天,每月额外送1 $5
每月免费流量10G加上5美金额的大概每月免费70G做为敏感期应急备用,防失联!
机器稳定、不断线、速度不错
轻量配置适合搭建各类服务
零基础搭建高速VPN教程【点击直达】
零基础安装青龙面板全自动白嫖教程【点击直达】
容器 VPS 项目地址:
https://github.com/vevc/ubuntu
Image Name :ghcr.io/vevc/ubuntu:25.7.14
CPU:0.5
Memory:512M
开放端口:22
协议:tcp
Environment Variables
SSH_USER=vevc #用户名
SSH_PASSWORD='ubuntu!23' #密码
Local Storage
/home/vevc #挂载路径
家目录初始化
1、权限设置
ls -l /home
sudo chown -R $USER:$USER /home/$USER
2、终端字体颜色美化、ls -l 命令别名设置等
curl -sk -o ~/.bashrc https://raw.githubusercontent.com/vevc/ubuntu/refs/heads/main/.bashrc
curl -sk -o ~/.profile https://raw.githubusercontent.com/vevc/ubuntu/refs/heads/main/.profile
查看默认文件夹:ls
注意事项
- 需要长期保存的数据,请一定存放在用户家目录,重要数据定期备份
- 通过 apt install 安装的应用重启后会丢失(需要在构建镜像时安装)
使用 supervisor 管理容器内多个进程,
实现开机自启、进程保活、cron 规则持久化
查看进程情况:ps aux
作为1号进程启动,管理其他进程,让容器拥有多进程自启、保活功能
改造前
1、启动测试进程
sudo /usr/sbin/cron
nohup python3 -m http.server 8080 1>/dev/null 2>&1 &
ps aux
2、添加一个定时任务
cat > /home/$USER/cron.sh << EOF
#!/usr/bin/env sh
date >> /home/$USER/cron.log
EOF
chmod +x /home/$USER/cron.sh
(crontab -l 2>/dev/null; echo "* * * * * /home/$USER/cron.sh") | crontab -
3、重启容器,cron 进程停止、http.server 服务进程停止、cron 定时任务规则丢失
改造
1、准备配置文件
mkdir ~/boot # 家目录文件可持久化保存
cat > /home/$USER/boot/supervisord.conf << EOF
[supervisord]
nodaemon=true
logfile=/tmp/supervisord.log
logfile_maxbytes=5MB
logfile_backups=3
loglevel=info
[program:sshd]
command=/usr/sbin/sshd -D
autostart=true
autorestart=true
[program:cron]
command=/usr/sbin/cron -f
autostart=true
autorestart=true
[program:init]
command=/home/$USER/boot/init.sh
autostart=true
; init.sh 开机自启仅运行一次
autorestart=false
startretries=0
user=$USER
[program:http-server]
command=python3 -m http.server 8080
autostart=true
autorestart=true
user=$USER
EOF
cat > /home/$USER/boot/init.sh << EOF
#!/usr/bin/env sh
(crontab -l 2>/dev/null; echo "* * * * * /home/$USER/cron.sh") | crontab -
EOF
chmod +x /home/$USER/boot/init.sh
查看文件内容:cat ~/boot/supervisord.conf
查看脚本内容:cat ~/boot/init.sh
查看日志:ls
删除日志:rm -rf cron.log
2、更新容器启动参数
- Arguments:
["supervisord", "-c", "/home/vevc/boot/supervisord.conf"]
(注意路径中的用户名)
查看进程情况:ps aux
改造后
- 重启容器测试
- kill 进程保活测试
常见问题
- supervisord.conf 配置文件不小心写错怎么恢复
删除Arguments: ["supervisord", "-c", "/home/vevc/boot/supervisord.conf"]
(注意路径中的用户名),然后重启
重新登录SSH
输入:cat ~/boot/supervisord.conf
修改错误参数
然后再更新容器启动参数即可
- Arguments:
["supervisord", "-c", "/home/vevc/boot/supervisord.conf"]
(注意路径中的用户名)
Node.js 官网:
nvm 项目地址:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
查看命令:nvm ls
加载命令:source /home/用户名/.bashrc
安装nodejs版本:nvm install 20
安装nodejs版本:nvm install 22
查看使用版本:node -v
Uptime Kuma 官网及项目地址:
https://github.com/louislam/uptime-kuma
官方推荐18-20的nodejs版本
切换版本命令:nvm use 20
查看使用版本:node -v
安装Uptime Kuma
git clone https://github.com/louislam/uptime-kuma.git cd uptime-kuma npm run setup # Option 1. Try it node server/server.js # (Recommended) Option 2. Run in the background using PM2 # Install PM2 if you don't have it: npm install pm2 -g && pm2 install pm2-logrotate # Start Server pm2 start server/server.js --name uptime-kuma
使用 Supervisor 管理并启动
[program:uptime-kuma]
environment=PATH="/home/vevc/.nvm/versions/node/v20.x/bin:/usr/sbin:/usr/bin:/sbin:/bin"
directory=/home/vevc/uptime-kuma
command=node server/server.js
autostart=true
autorestart=true
user=vevc
终止前台进程:Ctrl+C
查看使用版本:node -v
使用 Supervisor启动Uptime Kuma输入:sudo supervisorctl update uptime-kuma
如果失败:
用 vi
编辑器来创建文件
请完全按照下面的步骤来操作,不要多也不要少。
第 1 步:使用 vi
打开(并创建)配置文件
执行这个命令。因为文件不存在,vi
会为你创建一个新的空白文件。
<BASH>sudo vi /etc/supervisor/conf.d/uptime-kuma.conf
执行后,你会进入一个全屏的、看起来很奇怪的编辑器界面。
第 2 步:进入“插入模式”
在键盘上,按一下字母 i
键。
按下 i
后,你就可以像在记事本里一样输入文字了。你可能会在屏幕左下角看到 -- INSERT --
的字样。
第 3 步:复制并粘贴配置内容
现在,完整地复制下面这个代码块,然后粘贴到你的终端窗口里。
注意: 因为你之前尝试输入了 environment
变量,这其实是个好主意!我把它加到配置里,可以确保 Supervisor 找到正确的 Node.js 版本。
<INI>[program:uptime-kuma] environment=PATH="/home/vevc/.nvm/versions/node/v20.x/bin:/usr/sbin:/usr/bin:/sbin:/bin" directory=/home/vevc/uptime-kuma command=node server/server.js autostart=true autorestart=true user=vevc
(右键点击终端通常就可以粘贴)
第 4 步:退出“插入模式”
内容粘贴好之后,按一下键盘左上角的 Esc
键。
左下角的 -- INSERT --
字样会消失。这表示你退出了输入状态,回到了“命令模式”。
第 5 步:保存并退出文件
现在,依次输入以下三个字符:一个冒号 :
,一个小写字母 w
,一个小写字母 q
。
:wq
输入完后,按下 Enter
键。
:
是为了输入命令w
代表 write (写入/保存)q
代表 quit (退出)
做完这一步,你就成功创建并保存了配置文件,然后会自动返回到你的普通命令行提示符。
最后一步:让 Supervisor 加载配置并启动
现在配置文件已经就位,我们可以执行最后的操作了。
让 Supervisor 重新读取配置文件:
<BASH>sudo supervisorctl reread
你应该会看到
uptime-kuma: available
的提示。让 Supervisor 加载并启动 Uptime Kuma:
<BASH>sudo supervisorctl update
你应该会看到
uptime-kuma: added process group
的提示。检查最终状态:
<BASH>sudo supervisorctl status
如果一切顺利,你会看到
uptime-kuma
的状态是RUNNING
。
这次一定能成功!vi
的操作方式虽然奇怪,但只要记住 i
(插入)、Esc
(退出插入)、:wq
(保存退出) 这三板斧就够用了。
然后回到 Claw cloud 开放端口即可
Why
1. 网站监控(节点监控)
2. 定时请求保活
Uptime Kuma, Node.js, nvm 的关系
1. Uptime Kuma 项目使用 Node.js 语言开发,运行在 Node.js 环境中
2. nvm (Node Version Manager): Node.js 的版本管理工具
nvm 优点
1. 方便安装最新版 Node.js, apt install 安装的版本老旧
2. 多版本 Node.js 任意切换
3. 安装的所有文件存放在用户家目录
Node.js Release info
https://nodejs.org/en/about/previous-releases
0 评论