在这篇文章,我将从头把一个Springboot Vue3项目打包、部署到腾讯云服务器,操作系统是Ubuntu。 在这个过程中,需要安装tmux(用于终端复用,也就是相当于多开几个屏),Vim(编辑器),JDK17,Nginx(前端部署在Nginx服务器上),MySQL,Redis(缓存数据库)。 其中会用到两个软件,puTTY(用于登录云服务器),FileZilla(用于从当前电脑向云服务器上传文件)。
1 安装tmux,Vim
sudo apt update
sudo apt install tmux
sudo apt install vim
常用命令可以参考:
东方既白:Linux基础3-tmux和vim0 赞同 · 0 评论文章
2 安装JDK17
apt-cache search openjdk // 查找apt中JDK版本
sudo apt-get install openjdk-17-jdk // 安装JDK17
java --version // 检查JDK是否安装成功
sudo update-alternatives --config java // 查看JDK安装到什么地方,配置环境时使用
//-------------------------------------------
// 以下可选,用于设置环境变量
sudo vim /etc/profile
// 在/etc/profile文件的末尾添加以下内容
JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 // 根据上面查看到的路径
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export JRE_HOME
export PATH
3 安装Redis(没使用到则跳过)
sudo apt install redis-server // 安装
sudo systemctl status redis-server // 检查服务的状态 active(running)
4 安装MySQL
sudo apt install mysql-server // 安装
mysql --version // 确定mysql版本为8.0.xx
MySQL版本8.0.36
sudo passwd // 设置密码
设置密码
使用密码登录,发现权限不足
解决办法:
$ sudo mysql -u root # I had to use "sudo" since is new installation
mysql> USE mysql;
mysql> UPDATE user SET plugin='mysql_native_password' WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> alter user 'root'@'localhost' identified with mysql_native_password by '密码';
mysql> exit;
$ service mysql restart
成功解决
5 安装Nginx
sudo apt install nginx // 安装
sudo systemctl status nginx // 检测是否在运行
nginx部分命令
systemctl start nginx // 启动
systemctl stop nginx // 停止
systemctl quit nginx // 退出
systemctl restart nginx // 重启
systemctl reload nginx // 重新加载 当你修改配置文件后可以使用此命令,使修改生效
systemctl status nginx // 查看服务状态
输入IP,可看到此页面,说明安装成功
该HTML页面在服务器的/var/www/html目录下,之后会用到。
源文件位置
现在,我们已经安装好所有环境,准备开始部署项目。
6 部署后端
点击package完成打包。打包之前记得修改需要修改的配置信息。
添加图片注释,不超过 140 字(可选)
添加图片注释,不超过 140 字(可选)
添加图片注释,不超过 140 字(可选)
使用FileZilla将得到的Jar包传到服务器。
先连接服务器,找到文件夹,从左面拖到右面即可
运行后端:
java -jar xxxxx.jar
后端启动成功
7 数据库建表
7.1 IDEA生成数据库脚本
依次点击
右上角复制
7.2 服务器建库,运行脚本
mysql -u root -p // 连接数据库
create database repair;
use dawnblog;
// 执行数据库脚本
// 粘贴,回车
exit;
8 部署前端
8.1 打包
我们使用Vue UI,任务->build,完成前端的打包。
打包
打包后的文件,在dist目录下
8.2 上传
将整个dist文件夹上传到服务器
8.3 移动文件夹位置
sudo mv ~/dist /var/www // 移到/var/www目录下
sudo rm -rf /var/www/html // 删除原来的html文件夹
sudo mv /var/www/dist /var/www/html // 改文件名
systemctl restart nginx // 重启nginx
此时访问,可能会出现404
解决办法:
cd /etc/nginx/sites-enabled/
sudo vim default
try_files $uri $uri/ /index.html;
// -----------------------------------
location /api {
rewrite ^/api/(.*)$ /$1 break;
proxy_pass http://111.111.11.111:8080;
}
#注释掉红色箭头所指的一行,添加蓝色箭头一行
systemctl reload nginx // 重新加载配置
添加图片注释,不超过 140 字(可选)
部署成功!