系统运维
一、应用打包(生产环境)
1.1 打包命令说明 执行以下 Maven 命令完成生产包构建,关键参数及作用如下:
| 参数 | 作用说明 |
|---|---|
-Pprod | 指定生产环境配置,对应文件:/cn-universal-web/src/main/resources/application-prod.properties |
shell
# 生产环境打包命令
mvn clean package -Dmaven.test.skip=true -Pprod -U1.2 打包产物与部署步骤 构建完成后生成压缩包:cn-universal-web.tar.gz
部署操作步骤:
shell
# 1. 解压打包产物
tar -zxvf cn-universal-web.tar.gz
# 2. 进入应用根目录
cd cn-universal-web
# 3. 重启应用(执行自动化脚本)
./bin/restart.sh1.3 应用目录结构(参考)
shell
root@AeolianqbUtdduE6y:~/cn-universal-web# ll
total 212
drwxr-xr-x 5 root root 4096 Dec 25 16:08 ./ # 应用根目录
drwx------ 10 root root 4096 Dec 25 16:06 ../ # 上级目录
drwxr-xr-x 2 root root 4096 Dec 24 16:11 bin/ # 启停脚本目录(含restart.sh)
-rw-r--r-- 1 root root 165256 Dec 24 16:10 cn-universal-web.jar # 应用核心JAR包
drwxr-xr-x 2 root root 4096 Dec 24 16:11 config/ # 配置文件目录
drwxr-xr-x 2 root root 28672 Dec 24 16:10 lib/ # 第三方依赖包目录
-rw-r--r-- 1 root root 325 Dec 24 16:10 version.json # 应用版本信息文件二、日志管理
2.1 日志文件目录与说明
日志路径说明: 日志存储路径可通过以下配置确认:
- 配置文件:
logback-spring.xml - 核心配置项:
xml
<springProperty scope="context" name="log.path" source="logging.file.path" defaultValue="./logs"/>shell
nexiot@iot:~/logs/cn-universal2$ ll
total 408
drwxrwxr-x 2 nexiot nexiot 4096 Nov 29 18:49 ./
drwxrwxr-x 4 nexiot nexiot 4096 Nov 21 19:49 ../
-rw-rw-r-- 1 nexiot nexiot 361177 Nov 29 19:07 all.log # 全量日志(包含所有模块)
-rw-rw-r-- 1 nexiot nexiot 0 Nov 29 18:49 api.log # API接口请求/响应日志
-rw-rw-r-- 1 nexiot nexiot 704 Nov 29 18:58 http.log # HTTP协议交互日志
-rw-rw-r-- 1 nexiot nexiot 12545 Nov 29 19:06 mqtt.log # MQTT协议通信日志
-rw-rw-r-- 1 nexiot nexiot 9730 Nov 29 18:58 tcp.log # TCP协议通信日志
-rw-rw-r-- 1 nexiot nexiot 3882 Nov 29 18:58 third-party.log # 第三方服务交互日志
-rw-rw-r-- 1 nexiot nexiot 2974 Nov 29 18:58 udp.log # UDP协议通信日志
-rw-rw-r-- 1 nexiot nexiot 2422 Nov 29 18:58 video.log # 视频模块相关日志
nexiot@iot:~/logs/cn-universal2$2.2 日志查看常用命令(补充)
shell
# 实时查看全量日志
tail -f ~/logs/cn-universal2/all.log
# 查看指定模块日志(如MQTT)
cat ~/logs/cn-universal2/mqtt.log | grep "错误关键词"
# 按时间筛选日志(近1小时)
grep "$(date -d '1 hour ago' +'%Y-%m-%d %H')" ~/logs/cn-universal2/api.log2.3 动态开启/关闭 SQL 打印(调试专用)
⚠️ 重要提醒:
- 生产环境禁止开放核心端口,该操作仅用于临时调试
- 调试完成后必须立即关闭 SQL 打印,避免敏感信息泄露/性能损耗
开启 SQL 打印(DEBUG 级别):
shell
curl "http://localhost:9092/test/v1/debug/log?name=cn.universal.persistence.mapper&level=DEBUG"关闭 SQL 打印(恢复 INFO 级别):
shell
curl "http://localhost:9092/test/v1/debug/log?name=cn.universal.persistence.mapper&level=INFO"参数说明:
| 参数 | 说明 |
|---|---|
name | 指定Mapper包路径,仅打印该包下的SQL日志 |
level | 日志级别:DEBUG(开启打印)、INFO(关闭打印) |