阿里云服务器部署Vue+SpringBoot前后端分离项目


文章目录

  • 阿里云服务器部署Vue+SpringBoot前后端分离项目
  • 1、阿里云服务器配置介绍
  • 2、部署环境
  • 3、常用命令
  • 4、部署SpringBoot项目
  • 5、部署Vue项目
  • 6、总结


1、阿里云服务器配置介绍

  • CPU&内存:2核4G
  • 操作系统:Ubuntu 18.04 64位
  • 带宽:1Mbps
    由于毕设需要,刚好阿里云有这个新用户免费试用两个月的活动,就领了一个云服务器,用来部署web项目再合适不过了。

2、部署环境

登录阿里云服务器的管理后台,可以看到其实有简单的教程,包括进入服务器终端等等,在这里我也简单介绍一下我需要部署的东西吧。

云服务器部署k3s 云服务器部署前端项目_java

  1. 进入阿里云服务器终端:
    Windows系统打开PowerShell,输入以下指令:
#查看是否有安装ssh
ssh -v
#输入云服务器公网IP
ssh root@123.123.123.123
#输入yes
yes
#输入密码
password

云服务器部署k3s 云服务器部署前端项目_云服务器部署k3s_02


2. 部署MySQL

#因为阿里云的教程只有使用yum的,但是ubuntu是用apt。
sudo apt -get update
sudo apt -get install mysql-server
#启动MySQL数据库
systemctl start mysqld.service
#登录数据库,一开始应该是无密码
mysql -uroot -p
#修改用户密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678';
#修改用户远程管理权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '12345678';
#退出数据库
exit;

同时进入阿里云服务器后台,进入实例安全组,配置3306端口的访问,使得可以远程访问云服务器数据库。

云服务器部署k3s 云服务器部署前端项目_mysql_03


3. 部署Java环境

  • 工具:Xftp
  • Java安装包:jdk-8u202-linux-x64-demos.tar.gz(根据自己需要的版本来)

首先将安装包通过Xftp上传到云服务器,然后打开云服务器终端。

#解压安装包
tar -zxvf jdk-8u202-linux-x64-demos.tar.gz
#Java环境配置
#打开环境配置文件
sudo vim /etc/profile
#在文件末尾添加以下信息:
export JAVA_HOME=安装包解压出的文件夹路径
export JRE_HOME=${JAVA_HOME}/jre    
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib    
export PATH=${JAVA_HOME}/bin:$PATH
#退出vim,使配置生效
source /etc/profile
#配置软连接,部分软件可能会从/usr/bin目录下查找Java,因此添加该软连接防止其他软件查找不到的情况
sudo update-alternatives --install /usr/bin/java  java  jdk1.8.0_202/bin/java 300   
sudo update-alternatives --install /usr/bin/javac  javac  jdk1.8.0_202/bin/javac 300 
#测试是否成功
java -version
  1. 安装Nginx
sudo apt-get install nginx

后续前端项目在调用后端接口时,需要使用Nginx进行代理跳转端口。

3、常用命令

#查看所有被打开的端口情况
netstat -anp
#查看所有进程信息
ps aux
#杀死进程id为2869的进程
kill -9 2869
#查看所有服务状态
service --status-all
#让命令在后台执行,终端退出后命令仍旧执行
nohup 命令语句 &

4、部署SpringBoot项目

  1. 首先更改项目的application.yml文件,将数据库配置的IP地址改成云服务器的地址,因为MySQL数据库已经部署在服务器上了。
  2. 然后打包成Jar

云服务器部署k3s 云服务器部署前端项目_linux_04


云服务器部署k3s 云服务器部署前端项目_阿里云服务器_05

  1. 使用Xftp工具将jar包上传到云服务器上,并通过命令启动项目。
#首先进入jar包所在的文件夹
#后台执行jar文件
nohup java -jar jar包名称(包含后缀) &
#查看是否执行成功
ps aux

云服务器部署k3s 云服务器部署前端项目_mysql_06

  1. 阿里云服务器开放后端项目端口

    我配置的是8081端口,所以开放8081端口。

5、部署Vue项目

  1. 打包Vue项目
#打包之后会生成dist文件夹
npm run build
  1. 将dist文件夹通过Xftp工具上传到服务器
  2. 进入Nginx配置文件

云服务器部署k3s 云服务器部署前端项目_java_07

如果不习惯使用终端命令的化,我们使用Xftp连接服务器,方便找到nginx的配置文件nginx.conf,正常情况下nginx.conf文件里面是有内容的,假如没有,那就来到sites-enabled文件夹下面,使用vim打开default文件,配置自行添加

云服务器部署k3s 云服务器部署前端项目_云服务器部署k3s_08

云服务器部署k3s 云服务器部署前端项目_java_09

#监听8080端口,因为我的前端项目端口为8080
listen 8080 default_server;
listen [::]:8080 default_sserver;
#配置打包的前端项目文件夹dist的地址,我是放在了/home路径下
root /home/dist
#配置默认打开页面
index index.html index.htm index.nginx-debian.html;

server_name _;

#配置找不到默认页时跳转到首页
location / {
	try_files $uri $uri/ /index.html;
}

#配置代理,跳转后端端口。注意这里的"/api"是指将所有带有"/api"的请求进行代理跳转,因此你需要根据你自己前端项目中调用的接口进行配置.
location /api {
	proxy_pass http://123.123.123.123:8081;
}
#重启Nginx服务,每次配置完成记得重启
service nginx restart
  1. 同时在阿里云服务器后台打开8080端口

6、总结

虽然看起来流程比较简单,但是实际操作起来困难重重,这一套流程都是我踩了很多坑才完成的。想来想去也忘了踩了哪些了,比较杂,这里就提示一个当时印象最深的坑吧,基本上这个搞定了之后,其他的问题都比较简单。

  • MySQL数据库无法远程访问的问题
    在开放端口后,我在本机上无法通过Navicat连接到服务器的MySQL数据库,后来查明原因,发现自己并没有将root权限开放出来