IPV6 | 安装Uptime Kuma 并 通过域名访问
前言
目前因为自己搭建的服务站点比较多,自己不能实时的监控服务的在线状态,有问题也没办法及时收到通知,不能及时修复和更新服务。
所以准备搭建一个在线监控服务,当然也可以不用自己搭建,直接使用【UptimeRobot】也可以。
网上搜索了一番,有很多监控服务,最终选择了Uptime Kuma,因为Uptime Kuma是开源的,并且搭建、使用起来非常简单方便。
其实是实在不知道 Euserv VS2-free 还能干什么
弃之可惜 食之无味
准备工作
服务器需安装docker环境,本文以Euserv VS2-free 为例
没安装的可参考文章 - Euserv|德鸡 VS2-free 安装Docker教程
使用Nginx 反代服务即可使用域名直接访问 Uptime Kuma
GitHub地址:https://github.com/louislam/uptime-kuma
Docker镜像地址:https://hub.docker.com/r/louislam/uptime-kuma
搭建方式
推荐用 Docker 的方式进行搭建
创建目录
mkdir -p /eoyz369/docker/
cd /eoyz369/docker/
根据自身情况选择是否创建目录,小编只是为了方便管理
一键安装:
docker run -d --restart=always -p 3001:3001 -v $PWD/uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:latest
创建nginx目录结构
mkdir -p /home/nginx
touch /home/nginx/nginx.conf
mkdir -p /home/nginx/certs
申请证书
curl https://get.acme.sh | sh
~/.acme.sh/acme.sh --register-account -m 你的邮箱
因为是Euserv|德鸡 VS2-free是纯IPV6
所以要加上--listen-v6
~/.acme.sh/acme.sh --issue -d 你的域名 --standalone --listen-v6
下载证书
~/.acme.sh/acme.sh --installcert -d 你的域名 --key-file /home/nginx/certs/key.pem --fullchain-file /home/nginx/certs/cert.pem
nginx配置模板
查看
uptime-kuma
容器网络
docker inspect uptime-kuma | grep IPAddress
"IPAddress": "172.17.0.2"
修改
/home/nginx/nginx.conf
nginx.conf文件
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
client_max_body_size 1000m;
#上传限制参数1G以内文件可上传
server {
listen 80;
listen [::]:80;
server_name 你的域名;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
http2 on;
server_name 你的域名;
ssl_certificate /etc/nginx/certs/cert.pem;
ssl_certificate_key /etc/nginx/certs/key.pem;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://获取的IPAddress:3001/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
}
启动nginx
docker run -d --name nginx --restart=always -p 80:80 -p 443:443 -v /home/nginx/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/certs:/etc/nginx/certs -v /home/nginx/html:/usr/share/nginx/html nginx:latest
补充|让Docker 支持 IPV6
官方文档中提到 IPv6 的支持很简单,需要修改 /etc/docker/daemon.json
{
"ipv6": true,
"fixed-cidr-v6": "fd00::/64",
"ip6tables": true,
"experimental": true
}
然后,重启Docker守护程序,以应用更改sudo systemctl restart docker