# xj-site-tool **Repository Path**: wslxm/xj-site-tool ## Basic Information - **Project Name**: xj-site-tool - **Description**: 网站管理工具 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-09-25 - **Last Updated**: 2025-11-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # xj-site-tool - 服务端: 9001 - 用户端: 9002 项目使用 xijia-plus 搭建, 启动项目详见文档: http://xijia.plus , 注意: jdk 版本11+, jdk17 需要增加 vm 参数,详见文档兼容说明 ## 功能列表 - 1、网站监听是否正常访问 - 2、https 证书时间检查 - 3、DNS ip 查询 ## 说明 ### 站点监控定时任务 SiteMonitorTask 为站点监控定时任务,默认 1 小时检查一次 包括: - 1、是否可正常访问监听 - 2、https 证书监听 如有异常在 site 表的状态会直接标记为异常, 并在 site 表记录最后一次的检查异常原因,更多检查记录可看 t_site_check_log 检查日志表 ### 异常通知定时任务 SiteErrorNotifyTask 异常通知定时任务, 默认5分钟执行一次 (消息快一点等于消息轰炸, 叫你赶快处理) 通知包括: - 1、访问异常 (也就是站点监控的异常) - 2、证书即将到期检查, 默认到期前的 14 天开始通知 (可在全局配置 code=cert-notify-le-day-num 调整) ## 关于通知 - 在 yml 中有可以配置多个群机器人, 在 SiteErrorNotifyTask 发送信息中可以自由指定发送到哪里 - 群机器人目前支持 飞书/企业微信 (文档: http://xijia.plus) 搜索: 群机器人 查看更多信息 ## 部署 在线上使用 docker 部署时, 可以在当前磁盘上放入配置文件, 使用 -e 指定配置文件, 从来避免修改当前仓库中的代码从而完成自动化部署 ### 打镜像 ```java ## 1、定义项目名 & echo输出 2、进入当前部署目录 3、停止容器 4、删除容器 5、删除镜像 6、创建新的镜像 export PROJECT_NAME=xj-site-tool-server export JAR_NAME=xj-site-tool-server echo $PROJECT_NAME && echo $JAR_NAME cd /workspace/$PROJECT_NAME docker stop $PROJECT_NAME docker rm $PROJECT_NAME docker rmi $PROJECT_NAME:v1 docker build --build-arg JAR_NAME=$JAR_NAME -t $PROJECT_NAME:v1 . ``` ### 启动容器 使用 spring.config.location 挂载 yml 配置文件到宿主机的 /workspace/site-tool-server/resources 目录中 ```yml docker run --name $PROJECT_NAME -p 10008:9001 \ -e JAVA_OPTS='-Xms256m -Xmx512m -Dspring.profiles.active=pro --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/sun.reflect.annotation=ALL-UNNAMED -Dpolyglot.engine.WarnInterpreterOnly=false -Dspring.config.location=file:/resources/application.yml,file:/resources/application-pro.yml' \ -e JAR_NAME=$JAR_NAME \ -e TZ=Asia/Shanghai \ -v /etc/localtime:/etc/localtime \ -v /workspace/$PROJECT_NAME/resources:/resources \ -v /workspace/$PROJECT_NAME/File:/File \ -v /workspace/$PROJECT_NAME/upload:/upload \ -v /workspace/$PROJECT_NAME:/data \ -d -it $PROJECT_NAME:v1 /bin/bash ``` 注意 redis 的配置文件是在 application-pro.yml 中读取的,需要在 application-pro.yml 中配置 ```java redisson: file: "file:/resources/redisson-pro.yml" ```