将小而美的博客部署到服务器上的踩坑记录
首先我们需要将本地 MySQL 数据库同步到服务器,这里使用 Navicat Premium 12 软件,使用简单,百度一搜就有使用方法,这里不展开描述。同步好之后,可开始下一步部署。
参考博客: https://www.cnblogs.com/huahua035/p/7808176.html
参考视频:https://www.bilibili.com/video/BV1H7411L7vv?from=search&seid=3728300276949270787
- 将项目打 war 包
- 修改 war 包名称 ,便于访问,并存放在 webapp 目录下
随即可重启 Tomcat ,便可打开浏览器访问 !
如果出现未部署成功,浏览器无法正常访问请注意以下几点。
Case1:
Case2:
Case3:
Case4:
- 移除 SpringBoot 项目中自带的 Tomcat
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
修改数据库连接地址!blog0.0 是刚才同步数据,服务器中的数据库名称。
url: jdbc:mysql://39.102.xx.xx:3306/blog0.0?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
本地运行正常!
打包运行发现问题!
========================================
========================================
========================================
========================================
分析:检查有没有执行加载底部 footer 最新博客的 JS 函数,添加如下 .load() 方法。
问题找到了!项目部署到服务器后,我们将包放到了 webapp 下,路径中添加了 myblog 项目名称,而 JQuery 发送的请求是 /footer/newblog ,是从根路径下请求的,请求地址为 127.0.0.1:8080/footer/newblog, 而后端处理请求的链接为 127.0.0.1:8080/myblog/footer/newblog。
小伙伴可以测试一下将前端请求改为 footer/newblog 试试,(区别是 footer 前面没有\,不是从根路径开始)
将项目名称改为 ROOT.war ,并放至 webapp 下,重启 Tomcat ,再访问,成功!
注:将项目打包放至服务器,就是将 war 包放至 Tomcat 中,所以我先在本地模拟这个过程,放进本地的 Tomcat 调试好之后,再直接一次性发布到服务器。
有同学可能还会问,除了将项目名称改为 ROOT.war ,就没有其他方法了吗?
答案是肯定的,那就是你可以打开浏览器调试工具,查看出错误的前端代码,然后去修改相应的路径即可。