# FS服务部署
# 安装JDK环境
参阅 安装JDK环境
# 创建目录
mkdir /cslc/fs
mkdir /cslc/fs/logs
将unitid-fs.jar文件 放入 /cslc/fs 目录
# 服务脚本
cd /cslc/fs
vi run.sh
脚本内容:
#!/bin/sh
APP_PATH=/cslc/fs
API_NAME=unitid-fs
JAR_NAME=$API_NAME\.jar
#PID 代表是PID文件
PID=application\.pid
cd $APP_PATH
#使用说明,用来提示输入参数
usage() {
echo "Usage: sh 执行脚本.sh [start|stop|restart|status]"
exit 1
}
#检查程序是否在运行
is_exist(){
pid=`ps -ef|grep $JAR_NAME|grep -v grep|awk '{print $2}' `
#如果不存在返回1,存在返回0
if [ -z "${pid}" ]; then
return 1
else
return 0
fi
}
#启动方法
start(){
is_exist
if [ $? -eq "0" ]; then
echo ">>> ${JAR_NAME} is already running PID=${pid} <<<"
else
# ** 这里根据实际情况配置 8G系统内存建议配置 -Xms6g -Xmx6g
nohup java -XX:+UseG1GC -Xms6g -Xmx6g -Dspring.profiles.active=production -Dspring.config.location=$APP_PATH/application.yml -Duser.timezone=GMT+8 -Djava.security.egd=file:/dev/./urandom -jar $JAR_NAME >/dev/null 2>&1 &
echo $! > $PID
echo ">>> start $JAR_NAME successed PID=$! <<<"
fi
}
#停止方法
stop(){
#is_exist
pidf=$(cat $PID)
#echo "$pidf"
echo ">>> api PID = $pidf begin kill $pidf <<<"
kill $pidf
rm -rf $PID
sleep 2
is_exist
if [ $? -eq "0" ]; then
echo ">>> api 2 PID = $pid begin kill -9 $pid <<<"
kill -9 $pid
sleep 2
echo ">>> $JAR_NAME process stopped <<<"
else
echo ">>> ${JAR_NAME} is not running <<<"
fi
}
#输出运行状态
status(){
is_exist
if [ $? -eq "0" ]; then
echo ">>> ${JAR_NAME} is running PID is ${pid} <<<"
else
echo ">>> ${JAR_NAME} is not running <<<"
fi
}
#重启
restart(){
stop
start
}
#根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in
"start")
start
;;
"stop")
stop
;;
"status")
status
;;
"restart")
restart
;;
*)
usage
;;
esac
exit 0
** 可修改其中
-Xms6g -Xmx6g参数调整jvm内存根据实际情况配置 8G系统内存建议配置 -Xms6g -Xmx6g
使用chmod +x run.sh授予可执行权限
# 配置
进入配置目录
cd /cslc/fs
新建配置文件
vi application.yml
填写配置项:
server:
# ** 启动端口
port: 20128
undertow:
# 最大上传文件大小 100M
max-http-post-size: 104857600
# 日志配置
logging:
level:
root: INFO
# ** 日志配置
file: /cslc/fs/logs/fs.log
management:
security:
enabled: false
endpoints:
shutdown:
# 启用shutdown
enabled: true
# 禁用密码验证
sensitive: false
# CORS 配置
cors:
# 允许的来源
allowed-origins:
- '*'
# 允许的方法
allowed-methods:
- GET
- POST
- PUT
- DELETE
- OPTIONS
exposed-headers:
- DNT
- Keep-Alive
- User-Agent
- X-Requested-With
- If-Modified-Since
- Cache-Control
- Content-Type
# allow-credentials: true
spring:
application:
# 项目名称
name: fs
profiles.active: production
aop.proxy-target-class: true
http:
multipart:
enabled: true
# 最大上传文件大小 100M
max-file-size: 100MB
# 最大请求大小 100M
max-request-size: 100MB
# JSON 序列化配置
jackson:
serialization:
WRITE_DATES_AS_TIMESTAMPS: true
default-property-inclusion: non_null
data:
mongodb:
# 请填写mongodb数据库名字
database: mongo_cslc_fs
# ** 请填写mongodb数据库连接地址
uri: mongodb://admin:Smart@172.27.20.156:27017,172.27.20.157:27017,172.27.20.158:27017/admin
# Mongodb 配置
mongo:
socketTimeout: 30000
connectTimeout: 5000
maxWaitTime: 5000
maxConnectionsPerHost: 20
minConnectionsPerHost: 3
readConcern: majority
writeConcern: majority
readPreference: primaryPreferred
mongodb:
regions:
njjn:
# ** 请填写mongodb数据库连接地址
uri: mongodb://admin:Smart@172.16.3.151:27017,172.16.3.151:27018,172.16.3.151:27019/admin
socketTimeout: 15000
connectTimeout: 3000
maxWaitTime: 5000
maxConnectionsPerHost: 20
minConnectionsPerHost: 3
readConcern: majority
writeConcern: majority
readPreference: primaryPreferred
#加密相关配置
encryption:
econtract:
# 是否启用加密
enable: true
# 密钥名称
name: FS
# ** 电子合同地址
baseUrl: http://172.16.3.228:8600
# 电子合同内部接口鉴权token
authToken: 123456
auth:
# 管理员拦截路径
routes[0]:
uri: /bizadmin/**
type: admin
jwt-header: Authorization
# 信息获取模式
fetch: rest
# 电子合同用户权限接口
userInfo.authoritiesUri: ${encryption.econtract.baseUrl}/internal/auth/authorities?authToken=${encryption.econtract.authToken}
# ** 公钥
public-key: |
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAti4oeGwnVmlWyWEYsAr3pnDvvadGP3rl
BM6M34e6QZSxHxlNZxpHaMzWcRxjkqKJEL8MTfD/r0oUjFmFPenqnXUZIIkwOWgNI3lOIrC6QSMa
IY6/a8khEwQrm4mA0FABUHtEtpv/gi7SNK60KYlao2iAXFm65MLn5OxSJrec3a0G8XOkKLGTDfCa
Ky90HalrydqUJG+N6t+tXhnVCeZ+yKKuX/KN0NyiqumaJO9SvQz+UmDhCdhdaLL6ilZgzqCEmtvo
Oo4pgUC0ao9s5j1WP/mLn1i//9EoVCN0iQ60Hdjl+8KzQ3srONjO49Azl5qoEiEecop7NnUrNC8C
5Ct/RQIDAQAB
audit:
# true 开启审计日志
enabled: true
routes[0]:
uri: /bizadmin/**
uri: ${encryption.econtract.baseUrl}/internal/audit/operation-log?authToken=${encryption.econtract.authToken}
# 命令
启动
./run.sh start
停止
./run.sh stop
重启
./run.sh restart
检查运行状态
./run.sh status
← 数据库初始化 ECMS-GM 签章服务部署 →