部署架构
部署规划
应用 | 机器配置 | 数量 | 说明 |
APP+WEB | 4C8G 100G | 4 | 内外各两台,外网只有WEB+nginx |
中间件 | 4C8G 100G | 3 | 内外各三台,包括redis |
MYSQL | 2C4G 100G | 1 | 内 |
应用部署
-
APP Server安装(仅内网)
1.新建目录:
mkdir -p /app/yunzheng/app_server/node1/config
2.复制jar包到相应目录(jar包测试组提供)
scp evidence-start-X.X.X.jar /app/yunzheng/app_server/node1/
3.复制脚本到对应目录(测试组提供)
scp start.sh /app/yunzheng/app_server/node1/
- 脚本内容:
#!/bin/bash source ~/.bash_profile PARM=$1 PORT=9010 #端口根据实际需要设置 #service_name需要根据实际包名做替换,不用考虑版本号,如:web-start,exchange-server,file-start service_name=evidence-start user=`whoami` PID=`ps -ef | grep $PORT | grep -v grep | awk '{print $2}'` #检查是否是dep用户,如果不是dep用户则不让执行该脚本 if [ $user != 'dep' ];then echo -e "\033[31mERROR: The current user is $user, please use dep user to execute.\033[0m" exit 1 fi case $PARM in 'start') if [[ -z $PID ]];then echo "==================================================================" echo "| Application starting at `date`. |" echo "==================================================================" java -Dserver.port=$PORT -Duser.timezone=Asia/Shanghai -jar ${service_name}*.jar & echo "| Application appears to still be running with PID $PID. |" echo "==================================================================" else echo "==================================================================" echo "| Application is running with PId $PID... |" echo "==================================================================" fi ;; 'stop') if [[ $PID -ne 0 ]];then kill -9 $PID echo "==================================================================" echo "| Application is shutting down successfully !!! |" echo "==================================================================" else echo "==================================================================" echo "| Nothing been done,Application had been shutted down! |" echo "==================================================================" fi ;; 'restart') if [[ $PID -ne 0 ]];then kill -9 $PID echo "==================================================================" echo "| Application having being down,please wait... |" echo "==================================================================" java -Dserver.port=$PORT -Duser.timezone=Asia/Shanghai -jar ${service_name}*.jar & > stdout.log & fi if [[ $PID -eq 0 ]];then echo "==================================================================" echo "| Application had been shutted down.please wait staring... |" echo "==================================================================" java -Dserver.port=$PORT -Duser.timezone=Asia/Shanghai -jar ${service_name}*.jar & > stdout.log & fi ;; 'status') if [ -z ${pid} ];then echo "==================================================================" echo "| Application is running with PId $PID... |" echo "==================================================================" else echo "==================================================================" echo "| Application is stoped !!! |" echo "==================================================================" fi ;; esac
4.复制配置文件到对应的目录(配置文件测试组提供)
scp application.properties /app/yunzheng/app_server/node1/config/
- 增量配置文件说明(application.properties)
# 数据库:地址/实例名 spacex.core.datasource.url=jdbc:mysql://rds806bbk48722p06vl5.mysql.rds.cloud.jsfy.gov:3306/yzjs # 数据库:用户名 spacex.core.datasource.username=yunzheng # 数据库:密码 spacex.core.datasource.password=yjyjs-yz # 会话保持:redis集群地址 spacex.session.redis.servers=138.20.24.191:26179,138.20.24.248:26279,138.20.24.248:26379 # 会话保持:服务器安全码 spacex.session.redis.code=mymaster # redis:redis集群地址 spacex.redis.servers=138.20.24.191:26179,138.20.24.248:26279,138.20.24.248:26379 # redis:服务器安全码 spacex.redis.code=mymaster # oss配置 evidence.oss.bucket-name=glyz evidence.oss.end-point=oss-cn-nj-jsgy-d01-a.cloud.jsfy.gov evidence.oss.access-key=ZrGfNVh4Rc1O7GhT evidence.oss.access-key-secret=v9StcNdSLxmRR9Qi8r2PDOVfjNbEfs # 业务规则:证据可删除时间限制(分钟) evidence.delete.time-minutes=30 # 业务规则:短信开关 evidence.sms.enable=true # 业务规则:短信接口分级码参数 evidence.sms.fydm=320000 # 业务规则:短信接口地址 evidence.sms.url=http://200.100.208.31:90/dxpt/api/sendSms.do # 业务规则:短信接口系统标识 evidence.sms.sysid=aliyun # 业务规则:短信接口用户标识 evidence.sms.userid=aliyun # 业务规则:短信接口短信信息中包含的连接信息(会包含在短信内容中) evidence.sms.msg.url=http://47.99.3.214/user/judge/login.html
5.启动服务
./start.sh start
6.检查服务
- 检查端口是否存在
lsof -i:$port
-
task安装(仅内网)
1.新建目录:
mkdir -p /app/yunzheng/evidence_task/node1/config
2.复制jar包到相应目录(jar包测试组提供)
scp evidence-task-X.X.X.jar /app/yunzheng/evidence_task/node1/
3.复制脚本到对应目录(测试组提供)
scp start.sh /app/yunzheng/evidence_task/node1/
- 脚本内容请参考前面APP Server的启动脚本
4.复制配置文件到对应的目录(配置文件测试组提供)
scp application.properties /app/yunzheng/evidence_task/node1/config/
- 增量配置文件说明(application.properties)
# 数据库:地址/实例名 spacex.core.datasource.url=jdbc:mysql://rds806bbk48722p06vl5.mysql.rds.cloud.jsfy.gov:3306/yzjs # 数据库:用户名 spacex.core.datasource.username=yunzheng # 数据库:密码 spacex.core.datasource.password=yjyjs-yz # oss配置 evidence.oss.bucket-name=glyz evidence.oss.end-point=oss-cn-nj-jsgy-d01-a.cloud.jsfy.gov evidence.oss.access-key=ZrGfNVh4Rc1O7GhT evidence.oss.access-key-secret=v9StcNdSLxmRR9Qi8r2PDOVfjNbEfs # 定时任务-同步证据到通达海(每天01:00执行) evidence.task.data.out.evidence.cron=0 0 1 * * ? # 定时任务-同步案件数据到系统(每天01:30执行) evidence.task.data.in.case.cron=0 30 1 * * ? # 定时任务-同步法官数据到系统(每天02:00执行) evidence.task.data.in.judge.cron=0 0 2 * * ?
5.启动服务
./start.sh start
6.检查服务
- 检查端口是否存在
lsof -i:$port
-
WEB安装(仅外网)
1.新建目录
mkdir -p /app/yunzheng/Web_server
2.复制前端页面文件到服务器
scp evidence_web.tar.gz /app/yunzheng/Web_server/ tar -zxvf evidence_web.tar.gz
3.配置nginx(nginx安装在其它章节说明)
#web端配置 server { listen 7088; #根据实际情况修改 server_name localhost; location / { root /app/yunzheng/Web_server; #路径根据实际路径修改 autoindex on; autoindex_exact_size off; autoindex_localtime on; } } #对接云渡的配置 server { listen 9988; server_name localhost; location / { root /app/yunzheng/V1dot6/evidence-web/static; autoindex on; autoindex_exact_size off; autoindex_localtime on; #index /login/login.html; index /user/party/login.html; } location /spacex { if ($request_method = 'OPTIONS') { add_header Access-Control-Allow-Origin $http_origin; add_header Access-Control-Allow-Headers 'x-requested-with,content-type,tenant'; add_header Access-Control-Allow-Methods 'POST,GET,OPTIONS,DELETE'; add_header Access-Control-Allow-Credentials true; add_header Access-Control-Max-Age 3600; return 200; } proxy_pass http://222.190.111.146:15000/channel/TgTrDot1q3/spacex; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Proto http; proxy_set_header X-Url-Scheme $scheme; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; } location /api { if ($request_method = 'OPTIONS') { add_header Access-Control-Allow-Origin $http_origin; add_header Access-Control-Allow-Headers 'x-requested-with,content-type,tenant'; add_header Access-Control-Allow-Methods 'POST,GET,OPTIONS,DELETE'; add_header Access-Control-Allow-Credentials true; add_header Access-Control-Max-Age 3600; return 200; } proxy_pass http://222.190.111.146:15000/channel/TgTrDot1q3/api; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Proto http; proxy_set_header X-Url-Scheme $scheme; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; } }
4.重新加载nginx
nginx -s reload
5.检查
- 检查端口是否存在:
lsof -i:PORT
- 检查页面是否能打开:
法官登录:http://IP:PORT/user/judge/login.html
当事人登录:http://IP:PORT/user/party/login.html
当事人登录手机端:http://IP:PORT/mobile/index.html
中间件安装
-
redis安装(仅内网)
-
nginx安装(仅外网)
-
MYSQL数据库安装(内外网)
mysql安装参考:Centos7上安装mysql5.7版本