项目部署
1.Nginx准备工作
Linux安装Nginx,前端资料目录dist上传到到/usr/local/nginx/html下
配置Nginx的nginx.conf
server {
listen 80;
server_name localhost;
location / {
root html/dist; //改变根目录
index index.html; //首页为html/dist下的index.html
}
location ^~ /api/ {
rewrite ^/api/(.*)$ /$1 break;
proxy_pass http://175.178.98.83:8080;
}
}
#error_page 404 /404.html;
登入请求:
Request URL: http://175.178.98.83/api/employee/login
Request Method: POST
Status Code: 502 Bad Gateway
Remote Address: 175.178.98.83:80
Referrer Policy: strict-origin-when-cross-origin
location ^~ /api/ {
rewrite ^/api/(.*)$ /$1 break; //url重写 ## ^代表开始匹配,(.*)代表/api/后面的字符, 使用$1 动态获取(.*)匹配的字符,/$1即/employee/login
proxy_pass http://175.178.98.83:8080;
ps :如果没有rewrite重写,请求路径为http://175.178.98.83:8080/api/employee/login,重写后为http://175.178.98.83:8080/employee/login
2.安装jdk,git,maven,Mysql,使用git clone命令克隆
执行reggieStart.sh
#!/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 项目启动完成
修改代码在Linux的环境
reggie:
path: /usr/local/img/