一.手工部署,进程不退出
(提前安装好JDK,配置环境变量)
nohub java -jar xxx.jar &> my.log &
二.shell脚本部署
1.安装git
2.从git仓库拉取代码,git clone 仓库地址
3.安装maven(下载,然后解压即可)
配置一下环境变量
4.新建shell脚本:bootStart.sh
#!/bin/sh
echo #########
自动化部署脚本启动
echo #########
echo
echo 停止原来运行中的工程
APP_NAME=helloworld
tpid='ps -ef|grep $App_NAME|grep -v grep|grep -v kill|awk '{print $2}'
if [$tpid]; then
echo 'Stop Process...'
kill -15 $tpid
fi
sleep2
tpid='ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'
if [$tpid]; then
echo 'kill Process!'
kill -9 $tpid
else
echo 'stop success!'
fi
echo 准备从Git仓库拉取最新代码
cd /usr/local/helloworld
echo 开始从Git仓库拉取最新代码
git pull
echo 代码拉取完成
echo 开始打包
output=`mvn clean package -Dmaven.test.skip=true`
cd target
echo 启动项目
nohub java -jar xxx.jar &> my.log &
5.执行脚本 ./bootStart.sh (注意文件权限)
三.nginx反向代理
3.1安装nginx并配置环境变量
3.2反向代理前端服务
3.3反向代理后端服务
location ^~ /api/{
rewrite ^/api/(.*)$ /$1 break;#截取api后面的路径为请求路径
proxy pass http://127.0.0.1:8080;
}
假设服务接口地址:http://127.0.0.1:8080/user/login
前端页面请求地址:http://127.0.0.1:8080/api/user/login
通过上面的截取,前端页面加了api前缀的接口请求地址也可以访问到后端服务接口/user/login