快捷搜索: 王者荣耀 脱发

Spring Boot前后端分离项目部署到Linux服务器

前言

去年和学长一起开发了一个Spring Boot的前后端分离项目,有后台管理端和小程序端。今年学长已经毕业走了。所以,所有的维护工作和后续的功能开发全部放在了我的身上。之前的开发环境服务器已经到期了,所以又购买了一个新的开发环境服务器。准备将项目重新部署到这个服务器上,方便我的学弟学妹们做测试和学习。就此机会也记录一下部署过程,也方便以后接手项目的学弟学妹们学习。

准备工作

服务器java环境准备

新购买的服务器被我安装了CentOS,所以安装java1.8很简单,直接用yum进行安装即可。

# yum install java-1.8.0-openjdk

安装之后的默认路径是:/usr/lib/jvm/ 如果没有yum的话,安装可能要麻烦一点,网上有很多文章是关于Linux下怎么安装java1.8的,这里就不多说了。安装好之后我们验证一下,没问题了就可以了。

数据库准备

服务器上已经被我安装上了宝塔面板。所以数据库安装和管理非常简单。这里使用的数据库是最常用的MySQL5.6版本,我们在服务器上添加一个新数据库,将我们的数据库SQL文件直接导入就可以了。如果数据库开启外网访问的话一定要设置足够复杂的密码并且更改该默认的3306端口,用其他的端口做数据库访问端口。曾经有幸因为数据库账户设置是root和root被删库勒索过。所以重要的事情说两遍如果数据库开启外网访问的话一定要设置足够复杂的密码并且更改该默认的3306端口,用其他的端口做数据库访问端口。

项目打包

Spring Boot官方推荐使用jar包进行项目部署,也就是用其内置的Tomcat启动服务,所以首先我们需要将项目打包成jar包。项目是Maven项目所以直接再IDEA的Maven工具中的Lifcycle用package打包就可以了。记得修改数据库配置:数据库、端口、用户名、密码等和上边配置的数据一致。 等待编译构建完成之后就可以在target目录中找到打好的jar包了。

部署过程

事实上部署Spring Boot项目很简单,只需要将jar包文件上传到服务器上运行使用jar运行jar文件即可。

# java -jar 包名.jar

切换到我们上传jar包的目录,运行jar文件。 熟悉的Spring标志已经出来了,证明服务已经启动了。 这时候我们访问我们服务器的IP:设置的端口就可以调用接口了。 注意:云服务器要配置好端口的放行,宝塔面板也要配置端口放行。

后台运行

不难发现,我们现在是终端运行的服务,当我们关掉终端或结束会话时这个运行的服务也会被关闭,所以我们不能直接在终端上这样运行。我知道的能解决这个问题的有两种方法,一个是使用screen命令,另一个是nohup命令。关于这两个命令的详细说明大家还是自行百度把。这里我们使用screen,方便我们查看输出的内容。用screen的话需要自己安装,用yum很方便自己百度吧。 首先使用screen新建一个命令行会话

# screen -S ApiService

运行jar文件 然后按住Ctrl+A然后再送开A按住D退出screen,关闭SSH会话就可以在服务器上一直运行了。

配置反向代理

我们并没有使用宝塔面板的网站管理,而是使用直接运行的方式,这样配置域名和SSL都很不方便。通常的解决方式是使用Nginx进行反向代理。在宝塔新建站点,然后设置反向代理。

目标URL就是本机+项目的端口号,其他的都用改直接提交即可。这样我们就可以通过宝塔面包配置域名和SSL了。

经验分享 程序员 微信小程序 职场和发展