简介

最近想把以前的项目线上部署一下,结果在部署过程中出了很多问题,整理一下部署的过程和要注意的地方。

大多都是springboot项目的部署,这里总结一下前后端分离的spring+vue项目的war包部署

租服务器过程就省略了,网上有很多相关教程。

网上教程大多使用XShell远程工具连接,我直接使用的是阿里云提供的网页上的远程连接,以及使用宝塔面板进行相关操作。

宝塔查看springboot项目目录 宝塔部署springboot war_spring

宝塔面板的安装:直接在宝塔面板的官网上复制命令

宝塔查看springboot项目目录 宝塔部署springboot war_前端_02

我使用的是centos

yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec 在服务器的命令行界面输入以上命令进行安装,安装过程无脑yes
安装好会给你一个用户名和密码,这个要记下来。
还有一个外网面板地址,然后通过这个地址访问宝塔Linux面板。

宝塔查看springboot项目目录 宝塔部署springboot war_nginx_03


登陆后可以一键安装软件、环境,非常方便

第一步:数据库数据导入

宝塔查看springboot项目目录 宝塔部署springboot war_nginx_04


直接使用面板添加数据库,并导入项目数据库的sql文件

可以使用管理功能进行管理数据,点击工具可以检查有没有成功导入

点击上面的root密码可以修改root密码

需要注意数据库的版本兼容问题,我一开始点击一键安装,安装的是5.+版本的数据库,但是我原来使用的是8.0版本的,导致我的数据一直导入失败。

第一步:后端项目打包

打包之前先修改数据库连接,用户名密码改成对应的。

宝塔查看springboot项目目录 宝塔部署springboot war_宝塔查看springboot项目目录_05

![在这里插入图片描述](

宝塔查看springboot项目目录 宝塔部署springboot war_vue.js_06

打包前先clean一下,如果遇到报错:
No valid Maven installation found. Either set the home directory in the configuration dialog
参考:

然后点击package进行打包

因为我之前用jdk-15的时候遇到一些问题,后来我改用了jdk1.8,但这个项目是之前开发的,就出现了版本不一致的问题。

宝塔查看springboot项目目录 宝塔部署springboot war_vue.js_07


参考这篇文章进行解决:

修改设置后,可以正常运行,但是打包时仍然报无效的目标发行版问题

把maven-Profile-jdk-15取消勾选

宝塔查看springboot项目目录 宝塔部署springboot war_前端_08


成功打包显示如下:

宝塔查看springboot项目目录 宝塔部署springboot war_spring_09


可以在target文件夹下找到打好的war包

第二步:文件上传

将war包上传到服务器的这个目录下,我用的是宝塔面板,直接将电脑上的文件拖拽过去就好了。

宝塔查看springboot项目目录 宝塔部署springboot war_前端_10


之后就可以使用测试访问了

http://外网IP:8080/war包名称

如果出现“此网站无法提供安全连接”提示,可能是使用了https,改为http就可以访问了

第三步:前端vue项目打包

先修改向后端发送请求的baseURL

8080是Tomcat启动的端口号

webProTest是我的后端项目的war包的名称

宝塔查看springboot项目目录 宝塔部署springboot war_nginx_11


使用npm run build进行打包

宝塔查看springboot项目目录 宝塔部署springboot war_宝塔查看springboot项目目录_12


打包好的文件在dist文件夹内,直接将dist文件夹放到远程服务器上任意位置

第四步:nginx配置

找到nginx的conf文件夹下的nginx.conf文件

宝塔查看springboot项目目录 宝塔部署springboot war_spring_13

宝塔面板上好像可以直接编辑,我用的是命令行vim,改完后需要重启nginx

宝塔查看springboot项目目录 宝塔部署springboot war_vue.js_14

更改的内容包括端口号(也可以不改),文件路径(文件路径是刚刚打包好的vue项目的位置)

宝塔查看springboot项目目录 宝塔部署springboot war_spring_15


重启nginx后就可以直接通过浏览器访问了

http://外网IP:9000

可能 用到的linux命令:

nginx重启:
nginx -s reload tomcat启动:
startup.sh tomcat关闭:
shutdown.sh ps:tomcat的启动和关闭需要进入到tomcat的bin目录下进行

差不多就是这些,可能有一些地方忘了,如果有什么问题可以在评论区留言或者私信我