部署架构
用户通过访问前端资源(nginx),其中涉及到的后端资源在nginx中通过反向代理访问!
前端资源部署
事先在服务器下载Nginx,MySQL,将前端打包文件上传至nginx目录下的html文件内
修改配置文件
重新加载配置文件并启动nginx服务
此时前端就部署好啦!!!
后端资源部署
事先在服务器下载jdk,MySQL,tomcat,git,并使用git clone将代码克隆下来
编写shell脚本,完成杀死进程,拉取代码,打包,启动服务的功能,shell脚本如下:
echo =================================
echo 自动化部署脚本启动
echo =================================
echo 停止原来运行中的工程
APP_NAME=reggie
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 /javaProject/reggie
echo 开始从Git仓库拉取最新代码
git pull
echo 代码拉取完成
echo 开始打包
output=`mvn clean package -Dmaven.test.skip=true`
cd target
echo 启动项目
LOG_NAME=reggieLog.log
nohup java -jar Reggie-0.0.1-SNAPSHOT.jar &> $LOG_NAME &
echo 项目启动完成
启动shell脚本
此时后端咱们就部署好了!!!!
访问192.168.1.131(nginx部署的服务器)
页面正常访问,我们试试能不能登录进去,如果可以则说明前后的分离部署成功!!!