服务管理使用手册

📋 概述

本手册介绍如何管理Husky系统的所有服务,包括启动、停止、重启和查看状态。

🎯 服务列表

服务 端口 内存 说明
husky_wms 8080 128M WMS仓储管理系统
husky_afterservice 8081 256M 售后服务系统
mindoc 8082 - MindDoc文档系统
kkfileview 8083 256M kkFileView文件预览服务

总内存需求: ~640M(适合2C2G服务器)

🚀 快速开始

方式1: 使用服务管理总脚本(推荐)

# 查看所有服务状态
./sbin/service_manager.sh all status

# 启动所有服务
./sbin/service_manager.sh all start

# 停止所有服务
./sbin/service_manager.sh all stop

# 重启所有服务
./sbin/service_manager.sh all restart

方式2: 单独管理每个服务

# 启动WMS
./apps/husky_wms/husky_wms.sh start

# 启动售后服务
./apps/husky_afterservice/husky_afterservice.sh start

# 启动MindDoc
./apps/mindoc/mindoc.sh start

# 启动kkFileView
./apps/kkfileview/kkfileview.sh start

方式3: 使用systemd(开机自启)

# 启用开机自启
sudo systemctl enable husky-wms
sudo systemctl enable husky-afterservice
sudo systemctl enable mindoc
sudo systemctl enable kkfileview

# 启动服务
sudo systemctl start husky-wms
sudo systemctl start husky-afterservice
sudo systemctl start mindoc
sudo systemctl start kkfileview

📖 详细使用说明

服务管理总脚本

命令格式

./sbin/service_manager.sh <service> <action>

服务参数

  • wms - WMS仓储管理系统
  • afterservice - 售后服务系统
  • mindoc - MindDoc文档系统
  • kkfileview - kkFileView文件预览服务
  • all - 所有服务

操作命令

  • start - 启动服务
  • stop - 停止服务
  • restart - 重启服务
  • status - 查看状态
  • check - 检查状态

使用示例

# 启动WMS
./sbin/service_manager.sh wms start

# 重启售后服务
./sbin/service_manager.sh afterservice restart

# 查看MindDoc状态
./sbin/service_manager.sh mindoc status

# 停止kkFileView
./sbin/service_manager.sh kkfileview stop

# 查看所有服务状态
./sbin/service_manager.sh all status

单个服务脚本

WMS服务

cd ~/apps/husky_wms

# 启动
./husky_wms.sh start

# 停止
./husky_wms.sh stop

# 重启
./husky_wms.sh restart

# 查看状态
./husky_wms.sh status

# 查看日志
tail -f nohup.log

售后服务

cd ~/apps/husky_afterservice

# 启动
./husky_afterservice.sh start

# 停止
./husky_afterservice.sh stop

# 重启
./husky_afterservice.sh restart

# 查看状态
./husky_afterservice.sh status

# 查看日志
tail -f nohup.log

MindDoc

cd ~/apps/mindoc

# 启动
./mindoc.sh start

# 停止
./mindoc.sh stop

# 重启
./mindoc.sh restart

# 查看状态
./mindoc.sh status

# 查看日志
tail -f nohup.log

kkFileView

cd ~/apps/kkfileview

# 启动
./kkfileview.sh start

# 停止
./kkfileview.sh stop

# 重启
./kkfileview.sh restart

# 查看状态
./kkfileview.sh status

# 查看日志
tail -f nohup.log

⚙️ Systemd 服务配置

安装systemd服务

# 复制服务文件到systemd目录
sudo cp etc/systemd/husky-wms.service /etc/systemd/system/
sudo cp etc/systemd/husky-afterservice.service /etc/systemd/system/
sudo cp etc/systemd/mindoc.service /etc/systemd/system/
sudo cp etc/systemd/kkfileview.service /etc/systemd/system/

# 重新加载systemd配置
sudo systemctl daemon-reload

# 启用开机自启
sudo systemctl enable husky-wms
sudo systemctl enable husky-afterservice
sudo systemctl enable mindoc
sudo systemctl enable kkfileview

Systemd常用命令

# 启动服务
sudo systemctl start husky-wms

# 停止服务
sudo systemctl stop husky-wms

# 重启服务
sudo systemctl restart husky-wms

# 查看状态
sudo systemctl status husky-wms

# 查看日志
sudo journalctl -u husky-wms -f

# 禁用开机自启
sudo systemctl disable husky-wms

批量操作

# 启动所有服务
for service in husky-wms husky-afterservice mindoc kkfileview; do
    sudo systemctl start $service
done

# 查看所有服务状态
for service in husky-wms husky-afterservice mindoc kkfileview; do
    sudo systemctl status $service --no-pager
done

# 停止所有服务
for service in husky-wms husky-afterservice mindoc kkfileview; do
    sudo systemctl stop $service
done

🔍 服务启动顺序

推荐的启动顺序

  1. WMS服务(8080)
  2. 售后服务(8081)
  3. MindDoc(8082)
  4. kkFileView(8083)

推荐的停止顺序

  1. kkFileView(8083)
  2. MindDoc(8082)
  3. 售后服务(8081)
  4. WMS服务(8080)

注意: service_manager.sh all start/stop 已自动按此顺序执行。

🐛 故障排查

服务无法启动

# 1. 检查端口是否被占用
sudo netstat -tlnp | grep 8080
sudo netstat -tlnp | grep 8081
sudo netstat -tlnp | grep 8082
sudo netstat -tlnp | grep 8083

# 2. 检查日志
tail -100 apps/husky_wms/nohup.log
tail -100 apps/husky_afterservice/nohup.log
tail -100 apps/mindoc/nohup.log
tail -100 apps/kkfileview/nohup.log

# 3. 检查配置文件
cat apps/husky_wms/config/application.yml | grep port
cat apps/husky_afterservice/config/application.yml | grep port
cat apps/mindoc/conf/app.conf | grep httpport
cat apps/kkfileview/config/application.properties | grep port

# 4. 检查jar文件是否存在
ls -lh apps/husky_wms/husky_wms.jar
ls -lh apps/husky_afterservice/husky_afterservice.jar
ls -lh apps/kkfileview/kkfileview.jar
ls -lh apps/mindoc/mindoc

服务运行中但无法访问

# 1. 检查进程
ps aux | grep husky
ps aux | grep mindoc
ps aux | grep kkfileview

# 2. 检查防火墙
sudo ufw status
sudo ufw allow 8080/tcp
sudo ufw allow 8081/tcp
sudo ufw allow 8082/tcp
sudo ufw allow 8083/tcp

# 3. 测试端口连接
curl http://localhost:8080
curl http://localhost:8081
curl http://localhost:8082
curl http://localhost:8083

# 4. 检查Nginx配置
sudo nginx -t
sudo systemctl status nginx

内存不足

# 查看系统内存使用
free -h

# 查看Java进程内存
ps aux | grep java | grep -v grep

# 调整内存配置(编辑启动脚本)
# WMS: RAM=128M (可降至64M)
# 售后服务: RAM=256M (可降至128M)
# kkFileView: RAM=256M (可降至128M)

📊 性能监控

实时监控所有服务

# 方式1: 使用top
top -u husky

# 方式2: 使用htop
htop -u husky

# 方式3: 监控Java进程
watch -n 2 'ps aux | grep -E "(husky|mindoc|kkfileview)" | grep -v grep'

内存监控脚本

# 创建监控脚本
cat > ~/monitor_services.sh << 'EOF'
#!/bin/bash
echo "=== 服务内存使用情况 ==="
echo "WMS:         $(ps aux | grep husky_wms.jar | grep -v grep | awk '{print $6/1024 " MB"}')"
echo "售后服务:    $(ps aux | grep husky_afterservice.jar | grep -v grep | awk '{print $6/1024 " MB"}')"
echo "MindDoc:     $(ps aux | grep 'mindoc --config' | grep -v grep | awk '{print $6/1024 " MB"}')"
echo "kkFileView:  $(ps aux | grep kkfileview.jar | grep -v grep | awk '{print $6/1024 " MB"}')"
echo "=========================="
echo "总计:        $(ps aux | grep -E '(husky.*\.jar|mindoc --config|kkfileview)' | grep -v grep | awk '{sum+=$6} END {print sum/1024 " MB"}')"
EOF

chmod +x ~/monitor_services.sh
./monitor_services.sh

📝 配置文件位置

服务 配置文件路径
WMS apps/husky_wms/config/application.yml
售后服务 apps/husky_afterservice/config/application.yml
MindDoc apps/mindoc/conf/app.conf
kkFileView apps/kkfileview/config/application.properties

🔑 关键配置项

WMS (application.yml)

server:
  port: 8080
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/husky_wms

售后服务 (application.yml)

server:
  port: 8081
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/husky_afterservice

MindDoc (app.conf)

httpport = 8082
db_database = mindoc

kkFileView (application.properties)

server.port=8083
file.dir=/home/husky/apps/kkfileview/files

💡 最佳实践

2C2G服务器部署建议

  1. 内存分配

    • WMS: 128M
    • 售后服务: 256M
    • MindDoc: ~100M(自动)
    • kkFileView: 256M
    • 系统保留: 500M+
  2. 启动策略

    • 生产环境: 使用systemd开机自启
    • 开发环境: 手动启动需要的服务
  3. 日志管理

    # 定期清理日志
    find ~/apps/*/nohup.log -size +100M -exec truncate -s 0 {} \;
  4. 备份策略

    # 备份数据库
    mysqldump -u root -p husky_wms > backup_wms.sql
    mysqldump -u root -p husky_afterservice > backup_afterservice.sql
    mysqldump -u root -p mindoc > backup_mindoc.sql

🆘 紧急操作

紧急停止所有服务

sudo killall java
pkill -f mindoc

强制重启

./sbin/service_manager.sh all stop
sleep 5
./sbin/service_manager.sh all start

恢复到初始状态

# 停止所有服务
./sbin/service_manager.sh all stop

# 清理临时文件
rm -f apps/*/nohup.log
rm -f apps/*/mindoc.pid

# 重新启动
./sbin/service_manager.sh all start

📞 技术支持

遇到问题?

  1. 查看日志文件: apps/*/nohup.log
  2. 检查服务状态: ./sbin/service_manager.sh all status
  3. 联系开发团队
作者:聂盼盼  创建时间:2025-10-28 20:41
最后编辑:聂盼盼  更新时间:2025-10-28 20:41