SpringBoot-Vue 项目整合在阿里云liunx服务器部署

前提

  • SpringBoot - Vue 前后端分离项目确保能够在本机完成前后端连接,正常访问!
  • 阿里云部署了 java 环境。
  • 配好 mysql 环境。
  • Tomcat 不用也行,因为 SpringBoot 已经内置了Tomcat

一、前后端整合

1、打包 前端静态资源

注意:

  • Vue 中的项目文件的 url 改为 服务器的IP 地址,不是本地的IP地址。
  • 确保打包前的Vue 项目没有任何错误!

在项目的路径下打开cmd 输入 npm run build

image-20201024171238333

看到输出 Build complete 即代表打包成功!

2、观察项目路径下的文件目录是否多了一个dist 文件下

image-20201024171530665

文件夹下的内容为:

image-20201024171712367

3、将 static 和 index.html 文件放到SpringBoot 的resource 资源路径下的static 目录下,如果没有static 文件夹,自己新建一个static 文件下,最终复制过去之后的项目结构图如下:

image-20201024172039172

4、项目打包成jar包

注意:

  • 数据库的 url 是否正确;一般要改为服务器的IP地址,不是本地IP地址。

步骤一、先双击 clean ,静等一会

步骤二、然后再双击package ,静等一会

步骤三、观察输出框下面出现若出现 BUILD SUCCESS 代表 jar 包打包成功!

步骤四、观察项目结构目录下的 target 是否多了一个 .jar

如果有,打包成功!

image-20201024172726821

二、jar 包 上传到服务器

我是通过 xftp 上传到服务器当中

image-20201024173308001

三、运行 jar

进入到jar 包的目录下,执行命令

java -jar .jar包名       

image-20201024173554755

这个时候就已经大功告成了!去浏览器输入服务器IP地址及端口号访问吧!

四、项目在服务器上自动不间断地跑

还没完呢,这种启动方式是一次启动

当我们关掉Xshell的时候,我们的网站又访问不上了,又得重新打开Xshell,执行 java -jar ***.jar。所以我们要使用下面的方法让这个项目在服务器上自动不间断地跑.

1、关掉重启一下Xshell(这样的话原本的项目就停掉了)

创建并编写文件start.sh,向其中添加字段 :java -jar ***.jar

按ESC + :wq + 回车键保存退出

vim start.sh   # 编写start.sh 文件
#内容如下:
java -jar ***.jar   # *** 为项目jar 包的名称    

image-20201024195113294

2、 给这个start.sh 管理员权限,然后用nohup指令不间断地运行(nohup指令:忽略所有挂断(SIGHUP)信号,不挂断地运行命令)

chmod 777 start.sh  //赋予管理员权限
nohup  ./start.sh &  //不间断运行文件内的指令

image-20201024194949928

3、使用

netstat -anp | grep 8081   #8080:项目的端口号 

image-20201024195033347
大功告成!

五、可能出现的问题

只列举了我自己遇到的问题而已,不代表全部

1、出现 com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
image-20201024174104249

思考:很明显是数据库的问题:查看自己的数据库用户名、密码、mysql的配置文件有没有问题,mysql的IP地址及端口有没有错误,服务器的端口有没有开放等等!

经过折磨发现自己的原因如下:
我的原因就是防火墙端口没有开启下面列举自己的解决方案,不代表出现这个问题就是这个解法!可能会有其他的原因

  • 如果是阿里云,需要保证阿里云的安全组策略是开放的
  • 确保Linux的防火墙端口是开启的
# 查看firewall服务状态
systemctl status firewalld

# 开启、重启、关闭、firewalld.service服务
service firewalld start   # 开启
service firewalld restart # 重启
service firewalld stop  # 关闭

# 查看防火墙规则
firewall-cmd --list-all    # 查看全部信息
firewall-cmd --list-ports  # 只看端口信息

# 开启端口
firewall-cmd --zone=public --add-port=8081/tcp --permanent  #开端口命令:
systemctl restart firewalld.service   #重启防火墙

image-20201024174729546

六、最后

萌新一个,想在博客记录一下,希望对你有所帮助!
欢迎在评论区讨论,一起交流!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值