前端vue/react工程部署ngix方法:
1、前端vue/react工程打完包之后,上传到ngix服务器相应目录;(建议:前端工程应配置工程服务名,也就是publicPath,如不配置,ngix访问的时候可以直接IP或者域名访问,多个工程不友好)
2、ngix作相应配置,大概如下:
location /edu-platform {
root /data/mystatic/;
index index.html index.htm;
try_files $uri /edu-platform/index.html;
}
注意:前端vue/react工程,如果路由模式为history模式,则ngix配置应加上try_files(不配置刷新页面会出现404错误),也就是ngix会尝试从硬盘找到index.html文件,将这个文件发送给用户。路由模式为hash模式,则不需要配置;
3、如果后端未配置跨域,则可以在ngix配置反向代理,相关配置如下:
location /vue-mall-api {
rewrite ^/vue-mall-api/(.*)$ /$1 break;
proxy_pass http://127.0.0.1:5000;
}
springboot工程部署ngix方法:
springboot工程可以打包成jar包或war包,相应部署服务器上也有多种方法,这里只介绍将jar包部署在ngix上
1、springboot工程打包,可通过mvn install命令打包,也可以在idea中,clean package打包;
2、上传jar包到服务器相应目录;
3、在jar包同级目录新建application.properties配置文件,在里面可以加入springboot工程不同环境配置,比如工程名、端口、mysql配置等等。(当然也可以不用新建此文件,直接用工程里的配置即可,但这样,每次打包前需要修改不同环境,比较繁琐且容易出错)。
4、ngix做相应配置,可参考配置如下:
#edu-platform-server
location /edu-platform-server {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:6180;
}
其中,location斜杠后面的对应就是工程名,下面的端口也要和springboot工程的端口保持一致;
5、用nohup守候进程方式运行jar包,命令如下:
nohup java -jar xxxxx.jar --spring.config.location=./application.properties >temp.log 2>&1 &
此命令,指定了jar运行的配置文件以及日志输入方式。
至此,前后端分离的spingboot+vue/react工程部署完毕。
6、查看springboot工程进程,可用命令
ps -ef|grep java
7、杀死进程
kill -9 pid