主要更新: - 每个服务打包为独立tar.gz,包含bin/lib/conf目录 - bin目录:启动/停止/重启/状态脚本 - lib目录:服务JAR包及所有依赖 - conf目录:配置文件(application.yml等) 新增文件: - 各模块src/main/assembly/assembly.xml配置 - 各模块src/main/scripts启动脚本 - server-deploy/scripts一键管理脚本 - server-deploy/assembly/assembly.xml模板 更新文档: - 单机部署文档v2.0,说明assembly打包方式
42 lines
1.0 KiB
Bash
42 lines
1.0 KiB
Bash
#!/bin/bash
|
|
# 服务启动脚本
|
|
# 用法: ./start.sh [服务名称]
|
|
|
|
# 获取服务名称(从脚本所在目录推断)
|
|
SCRIPT_DIR=$(dirname "$(readlink -f "$0")")
|
|
APP_HOME=$(dirname "$SCRIPT_DIR")
|
|
APP_NAME=$(basename "$APP_HOME")
|
|
|
|
LOG_HOME="/datacfs/applogs/${APP_NAME}"
|
|
JAR_FILE="${APP_HOME}/lib/${APP_NAME}.jar"
|
|
PID_FILE="${APP_HOME}/${APP_NAME}.pid"
|
|
|
|
# JVM参数
|
|
JAVA_OPTS="-Xms256m -Xmx512m -XX:+UseG1GC -XX:MaxGCPauseMillis=200"
|
|
|
|
# 日志参数
|
|
LOG_OPTS="-Dlogging.file.path=${LOG_HOME} -DAPP_NAME=${APP_NAME}"
|
|
|
|
# 配置文件路径
|
|
CONFIG_OPTS="--spring.config.location=${APP_HOME}/conf/application.yml"
|
|
|
|
# 检查是否已运行
|
|
if [ -f "$PID_FILE" ]; then
|
|
PID=$(cat $PID_FILE)
|
|
if ps -p $PID > /dev/null 2>&1; then
|
|
echo "${APP_NAME} is already running (PID: $PID)"
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
# 创建日志目录
|
|
mkdir -p ${LOG_HOME}
|
|
|
|
# 启动服务
|
|
echo "Starting ${APP_NAME}..."
|
|
nohup java $JAVA_OPTS $LOG_OPTS -jar $JAR_FILE $CONFIG_OPTS > /dev/null 2>&1 &
|
|
|
|
# 保存PID
|
|
echo $! > $PID_FILE
|
|
echo "${APP_NAME} started (PID: $(cat $PID_FILE))"
|