【UptimeKuma】基于腾讯云轻量搭建开源的云监控&云拨测工具

第零步 Docker一键安装

UptimeKuma已提供打包好的docker镜像供一键运行,由于与GitHub互联不稳定,强烈建议境内服务器使用此方式进行安装。若使用腾讯云轻量应用服务器的Docker-CE镜像或已安装docker,可以运行以下命令进行安装,安装完成后可直接跳至本节第四步。

rt=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1

2024-12-06T07:05:02.png

第一步 配置Node.js环境

UptimeKuma支持Node.js 14及以上的版本,如果使用的是腾讯云轻量应用服务器,可以直接使用应用模板中的Node.js镜像。对于常见的系统,Node.js有多种安装方式,可以直接使用apt等包管理器进行二进制安装,可以从官网获取构建好的二进制文件进行安装,可以使用nvm进行管理,可以拉取源码编译安装(比如32位的i686,建议不高于16),也可以通过安装宝塔pm2管理器自动配置。条条大路通罗马,这里只列举几个典型的例子。
2024-12-06T07:05:24.png

Node.js官方发布页面提供了当前最新版本的二进制包和源码的下载,历史版本需要前往官方下载站,进入以版本号命名的文件夹,根据系统和架构选择二进制压缩包如linux-x64.tar.gz ,在最下面如node-v16.9.1.tar.gz格式的包为源代码。

Node.js发布页:https://nodejs.org/en/download
Node.js下载站:https://nodejs.org/dist
#Debian/Ubuntu系统直接安装
apt install nodejs
apt install npm
 
#官方二进制包安装,以最新版为例
#①选择放置nodejs的目录,下载并解压二进制包
cd /home
wget https://nodejs.org/dist/v20.9.0/node-v20.9.0-linux-x64.tar.xz
tar xf node-*.tar.xz
cd node-*
#②添加软链接
ln -s /home/node-v20.9.0-linux-x64/bin/npm /usr/bin/ 
ln -s /home/node-v20.9.0-linux-x64/bin/node /usr/bin/
 
#编译安装,主要用于32位等不提供二进制文件的系统
#①安装编译环境
yum -y install gcc gcc-c++ kernel-devel    //以CentOS、AlmaLinux为代表的RHEL系
apt -y install build-essential             //Debian、Ubuntu
#②下载并解压源码包
wget https://nodejs.org/dist/v16.9.1/node-v16.9.1.tar.gz
tar -zxvf node-*.tar.gz
cd node-*
#③编译并安装
./configure   //配置
make          //编译
make install  //安装
 
#检查安装成果,有正常返回即安装成功
node -v
npm -v
 
#若为国内服务器,可以考虑更换为淘宝npm镜像源
npm config set registry https://registry.npmmirror.com

2024-12-06T07:06:26.png

第二步 安装UptimeKuma

UptimeKuma的源码需要从GitHub获取,若服务器访问GitHub存在障碍,则需要从release页面下载源码包(点击前往)手动上传到服务器并解压。

GitHub:https://github.com/louislam/uptime-kuma
#①通过git拉取源码
git clone https://github.com/louislam/uptime-kuma.git
#②进入源码目录并执行安装
npm run setup
#③测试运行
node server/server.js
 
# 无法连接至GitHub时,需前往release页面下载对应版本SourceCode和dist.tar.gz
# 先解压源代码,再将dist解压到源代码根目录
# 编辑package.json找到43行setup中"git checkout 1.23.3 && npm ci --production && npm run download-dist"
# 将多余内容删除,仅保留"npm ci --production",再和上面②一样进行安装
npm run setup
node server/server.js

当Console中显示“Listening on 3001”服务即正常启动了,在防火墙中放行3001端口,使用http://ip:3001即可访问控制页面。
2024-12-06T07:07:26.png

第三步 配置进程守护

Node.js一般使用pm2管理器进行进程守护和开机启动:

# 安装PM2管理器
npm -i pm2 -g
# 设置uptimekuma进程
pm2 start server/server.js --name uptimekuma
# 保存当前配置
pm2 save
# 生成开机进程并允许启动
pm2 startup
systemctl enable pm2-root
# 列出程序并管理进程
pm2 ls
pm2 start|restart|stop|delete uptimekuma

2024-12-06T07:07:57.png

第四步 绑定域名

可以使用NGINX反向代理3001端口至常规的网站端口并在NGINX上绑定域名、设置证书等,以下是一个可用的示例配置。至此,UptimeKuma的搭建就正式完成了,可以进入具体内容的设置了。

location /
{
    proxy_pass http://127.0.0.1:3001;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
    
    #适当延长代理超时时间
    proxy_read_timeout 5m;    
    #WebSocket相关配置
    proxy_http_version 1.1;
    proxy_set_header   Upgrade $http_upgrade;
    proxy_set_header   Connection "upgrade";
}
Last modification:December 6th, 2024 at 03:08 pm

Leave a Comment