征文投稿丨在轻量应用服务器上部署 SpringBoot 项目
本文来自轻量应用服务器征文活动用户投稿,已获得作者(昵称 AnonyEast)授权发布。
引言:新手开发人员在本地进行 SpringBoot 项目开发时,如果想要将项目部署到轻量应用服务器上,用于线上调试或查看上线后的项目效果,在外网通过一个网址直接访问到这个项目,则可以参考本教程。
一、适用场景
1.项目使用 IntelliJ IDEA 进行开发,并使用 Maven 构建的 SpringBoot 项目。
2.服务器安装有宝塔面板。
3.在宝塔面板中安装了 Apache 或 Nginx 服务、JDK。
4.如果项目使用了数据库,还需要在服务器安装相应的数据库。
5.有已经注册的域名。
二、部署细节
1. 如果项目是前后端分离项目,那么后台请求地址不能是 localhost,必须改为本项目的域名,在打包之前就要做好修改。
如果项目使用了数据库,必须确保项目部署到服务器后,application.yaml 配置文件中配置的数据库地址和端口,相对于服务器而言仍然是可以访问的,否则就需要进行修改。(部署到服务器后,localhost 就是服务器自身了,而不是自己电脑上的本地开发环境)
2. 在 SpringBoot 项目 pom.xml 文件的<project>标签中,添加如下代码,代表本项目要打包为一个 jar 包。
<packaging>jar</packaging>
例如:
3. 在 IntelliJ IDEA 的 Maven 面板中,运行 Lifecycle 中的 clean,清除所有已经编译生成的文件,即删除 target 目录。
4. 在 Maven 面板中,运行 Lifecycle 中的 package,开始将项目打包为 jar 包。如果需要跳过测试,可以先点击“小闪电”按钮,再运行 package 命令。跳过测试可以大幅提高打包速度。
如果在控制台看到如下的类似输出结果代表打包成功
5. 在 target 目录中可以看到刚刚打包完成的 jar 包。我们需要将这个 jar 包在服务器上运行。
6. 添加域名解析,例如,若您的项目的域名是 stuinfoquery.example.com,则您需要在购买 example.com 这个域名的域名服务商处,添加一个叫做 stuinfoquery 的 A 记录,并将记录值设置为您的轻量应用服务器公网 ip 地址。
轻量应用服务器的 ip 地址可以在阿里云轻量应用服务器控制台查看,如下图所示,106.15.xxx.xxx 就是轻量应用服务器的公网 ip 地址。
7. 登录宝塔面板,在网站存放路径新建一个目录,作为本项目的运行目录,然后将项目的 jar 包上传到该目录。下图示例中服务器的网站存放路径是/www/wwwroot。
8. 在宝塔面板的软件商店中,打开“Java 项目一键部署 3.4”,如果没有安装这个软件,需要先安装。
9. 打开该软件后,选择 SpringBoot,点击添加项目。项目路径选择刚刚上传的 jar 包,项目域名输入本项目的域名,项目端口可以根据情况进行更改。
在自定义参数中,可以指定 SpringBoot 启动参数,例如,如果你的项目存在多个 application-xxx.yaml 文件,则可以通过--spring.profiles.active 参数指定使用哪一个 application-xxx.yaml。
10. 添加完成后启动项目,查看日志,检查项目是否正常启动,如果正常启动没有报错,则点击映射按钮,将本项目映射到宝塔面板的网站列表中。
11. 以上步骤完成之后,就可以通过域名访问 SpringBoot 项目了。
三、注意事项
1. 当 application.yaml 文件被分为 dev 和 prod 等多个版本时,必须在自定义参数中使用--spring.profiles.active 指定配置文件,否则项目将无法正常启动。
2. 在宝塔面板 7.8.0 中,可以直接在网站列表添加 Java 项目了,不再需要安装“Java 项目一键部署 3.4”这个软件了,操作方法与本文中介绍的方法基本一致,不同之处在于无需点击映射按钮了。
以上就是在轻量应用服务器上部署 SpringBoot 项目的全部细节,希望对你学习和使用产品有所帮助。
点击我要投稿,查看全新升级的轻量应用服务器征文活动,奖励更丰富,月月可投稿~
版权声明: 本文为 InfoQ 作者【阿里云弹性计算】的原创文章。
原文链接:【http://xie.infoq.cn/article/4161c6d311c14cb032c32c57c】。文章转载请联系作者。
评论