项目部署
前后端分离部署
部署环境说明
部署前端项目
将dist文件上传到nginx
cd nginx
cd html
cd dist
配置nginx
cd conf
vim nginx.conf
location /{
root html/dist;
index index.html;
}
#反向代理配置
location ^~ /api/{
rewrite ^/api/(.*)$1 break;
proxy_pass http://192.168.138.101:8080;
}
//url重写,代理到后端服务器。
另启一台
nginx
ps -ef|grep nginx
//实现转发到后端服务器。
后端项目部署
提前装好jdk,maven,git
第一步,使用git clone将远程仓库代码克隆。
cd /usr/local/javaapp/
第二步
将reggieStart.sh文件上传服务器B,通过chmod命令设置执行权限。
chmod 777 reggieStart.sh
在app目录下,
./reggieStart.sh
ps -ef|grep java
附带shell脚本
#!/bin/sh
echo =================================
echo 自动化部署脚本启动
echo =================================
echo 停止原来运行中的工程
APP_NAME=reggie_take_out
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
sleep 2
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/javaapp/reggie_take_out
echo 开始从Git仓库拉取最新代码
git pull
echo 代码拉取完成
echo 开始打包
output=`mvn clean package -Dmaven.test.skip=true`
cd target
echo 启动项目
nohup java -jar reggie_take_out-1.0-SNAPSHOT.jar &> reggie_take_out.log &
echo 项目启动完成
系统文件路径
查看日志
cd reggie_take_out/
cd target/
tail -f reggie_take_out.log
path: /usr/local/img/
代码提交并推送
重新执行脚本
./reggieStart.sh
将本地目录图片上传的linux服务器路径上,可以正常展示