最近跟着B站up MarkerHub 做了一个前后端分离的个人博客,搞了台云服务器准备尝试将它部署到线上
工具:
1.IntelliJ IDEA 2021.3.3
2.Vs code
3.宝塔linux面板
4.云服务器一台
1.项目的打包
首先打包后端jar包,打开idea的终端输入mvn clean package '-Dmaven.test.skip=true'
出现这个就是打包成功了
打开项目文件夹发现target目录下出现了jar包
然后将前端代码build一下
在这之前记得将axios.js中axios.defaults.baseURL配置一下
axios.defaults.baseURL="http://服务器ip:后端运行端口"
比如我的是axios.defaults.baseURL="http://101.42.42.44:8081"
然后打开Vs code终端输入npm run build
可以到项目文件多了一个叫做dist的文件夹
2.上传jar包和dist文件到服务器
打开宝塔linux面板
进入文件,在路径www/wwwroot下创建文件夹vueblog
然后将刚才打包好的jar包和dist文件夹复制上传
将dist文件内容剪切到vuelog目录下,然后删去dist文件夹
左边面板选择网站,添加站点
域名还没购买 先填服务器ip,点击提交
然后对站点进行设置,选择网站目录,目录选择开始新建的vueblog
点击保存,两个保存各点一次
然后就可以到浏览器地址栏输入你的站点地址即服务器ip,网站就出来了
但是还没有数据因为数据库还没建
3.导入sql文件,建库
来到该界面点击添加数据库
这个数据库名字一定要和你后端配置文件里面的数据库名字相同,不然连不上,点击提交
然后导入sql文件
点击导入,数据库就建好了,再次输入ip看到数据已经出现
4.开启springboot服务
不要忘记打开后端的端口
云服务器也要打开(自行百度)
回到宝塔文件vueblog目录下打开终端
输入java -jar vueblog-0.0.1-SNAPSHOT.jar
说我端口占用,输入ps -ef|grep 8081
可以看到占用端口的进程号,输入kill + pid即可关闭
不过我的还是报错,查到了一个简单粗暴的方法,直接搜索所有java服务,全部停掉ps -ef | grep java
然后kill -9 java进程序号
之后我就可以启动springboot服务了
这是再打开网站地址一切都正常了,可宝塔这边命令不能关,要想办法让它自动一直运行下去,重新打开命令行输入:nohup java -jar vueblog-0.0.1-SNAPSHOT.jar &
`
关闭中断发现文件夹下多了一个nohup.out文件,这样部署就算完成了。
这中间还会有个错误,会发现一刷新界面会报404错误
查了查是Nginx配置文件的问题,在宝塔文件找到如下路径,修改域名配置文件,双击编辑
添加一段代码try_files $uri $uri/ /index.html;
保存再次刷新网站发现可以运行