SpringBoot+Maven打包部署(服务器环境配置,防火墙问题)

SpringBoot+Maven打包部署

一.项目:

  1. Spring Boot框架,使用maven作为项目管理工具。特点是在pom.xml中就会配置Spring Boot内嵌的tomcat容器的依赖。
  2. 项目要打成jar或者war包,本实验中是采用打成war包。
    (1) 修改main函数:添加如下的代码
    在这里插入图片描述
    (2) 修改.properties配置文件中的数据库连接部分,修改数据库用户名和密码。【注意:项目配置文件中数据库连接的url不能改成要部署的服务器的ip地址,因为war包是要发布到服务器上的,所以对于在服务器上运行的项目来说,访问的仍然是本地的mysql,所以仍然是localhost或者127.0.0.1】
    在这里插入图片描述
    【要保证服务器上mysql是启动的状态】
    在这里插入图片描述
    (3) 修改pom.xml文件:打成war包
    在这里插入图片描述
    (4) 修改pom.xml文件:打包部署要在<dependience>外添加依赖:
    在这里插入图片描述
    (5) 修改pom.xml文件:还要添加如下依赖
    在这里插入图片描述
    (6) 修改pom.xml文件,需要注意的是springboot框架内嵌tomcat,所以部署到远程服务器的时候要去除掉内嵌的tomcat,否则容易和服务器上的tomcat冲突,而产生问题。【由于SpringBoot内嵌了tomcat,所有也可以不用在服务器上再配置tomcat环境,这两种方式都是可以。】
    在这里插入图片描述
    (7) 使用IntelliJ IDEA 2018.2.4 x64这种集成开发工具,快速构建项目,快速开发,快速打包:右侧的maven project
    在这里插入图片描述
    如果是第一次打包,直接双击package即可开始打war包,如果不是第一次打包,需要先双击clean将项目路径下的target删除。然后再双击package,打好的war包在: 项目/target/xxx.war。war包的名称与在建立项目的时候,或者写pom.xml文件中的配置有关。如下:同时war包打好后也可以随意重命名。
    在这里插入图片描述

二.部署SpringBoot构建的javaweb项目需要的远程服务器环境:版本最好与开发环境一致,否则容易出现让人很难受的错误。远程的Linux服务器是Centos7。

1. jdk

(1) 本地Windows的版本是:
在这里插入图片描述

远程的版本是:
在这里插入图片描述
(2) jdk的安装:网上一大堆Centos7安装jdk1.8的教程。需要注意的是安装之后需要配置环境变量,无论windows下还是Linux下都要配置环境变量。Linux上配置环境变量的路径和文件是:/etc/profile,执行cd /etc,执行vi profile,在配置文件最后添加:
在这里插入图片描述
保存退出后,执行命令source /etc/profile,让配置文件生效。然后执行java -version检查是否安装成功。打印下面内容表示安装成功。
在这里插入图片描述

2. Tomcat

(1) 可以使用yum联网安装,也可以去官网下载通过.tar.gz压缩文件安装。本实验采用的是使用.tar.gz方式安装。然后tar -zxvf xxx.tar.gz解压。
在这里插入图片描述
(2) 这种安装方式需要自己手动配置环境变量,同样在/etc/profile中
在这里插入图片描述
写好后同样是保存退出,运行source /etc/profile让配置文件生效。然后执行:
在这里插入图片描述
可以看到环境变量是否配置成功。
(3) tomcat的配置文件是tomcat/conf/server.xml
在这里插入图片描述
配置文件中有访问路径,端口号等的默认配置。可以根据自己的需要修改。比如:本人把默认的8080端口改成了8090。
在这里插入图片描述
(4) 之所以在tomcat里运行的项目能连上数据库,还有一个原因是要有数据库连接驱动器。当然这些都是在开发的时候是maven项目,自动管理添加的。
在这里插入图片描述

3. MySQL:【此处暂时省略100字,后续补充】

三.部署:

本地的项目已经打包好了war包。远程的服务器已经配置好了环境。

  1. 通过xftp把war包拉到/tomcat/webapps/目录下。
    在这里插入图片描述

在这里插入图片描述
补充一下:tomcat安装成功后,启动tomcat,通过ip:8080可以访问到tomcat官网的主页。【如果没访问成功可能是防火墙的问题,后续再解释。】是由于访问的是webapps下的ROOT文件夹中的内容。想要通过ip:port访问我们的项目就需要将ROOT中的内容替换成我们项目的内容。正常的操作是可以删掉ROOT文件夹,然后重启tomcat就可以生成一个新的ROOT,但是本实验中没生成不知道为什么。解决办法是:粗暴的将我们的项目的war包名改成ROOT.war然后上传到tomcat/webapps下。

  1. 关键的地方来了:
    (1) 上传war包之前要先关闭tomcat服务器:进入tomcat的安装目录下,进入bin目录,执行./shundown.sh就可以关闭tomcat服务器了。
    在这里插入图片描述
    (2) 上传war包之后重启tomcat服务器,仍然是进入bin下,执行./startup.sh就可以重启。
    (3) 重启tomcat后,会自动解压war包,正常情况下现在就可以通过ip:port来访问我们的项目了。像下面这样
    在这里插入图片描述
    (4) 如果不能访问的话,考虑是防火墙的问题:
    在这里插入图片描述
    在这里插入图片描述
    关闭状态才可以,如果是running状态要关闭。
    (5) 上述的访问方式是通过根路径来访问的,即ip:port,如果是其他路径的访问方式,比如war包名来访问(如果一个tomcat服务器上要部署多个web项目,总不能为每一个项目配置一个tomcat,然后让他们独自占用对ROOT的访问权限叭,所以可以通过配置项目的访问名称来区别要访问的是具体的哪个项目。)也就是不通过根路径的方式去访问,解决方法是:在tomcat的配置文件server.xml中配置标签的conBase属性来指定访问路径。(本实验中不涉及,故不赘述)。后续再补充。

四.现在可以访问项目主页了,还有很重要的数据库连接问题:

由于是SpringBoot框架,然后用maven做项目管理工具,所以整个项目的创建开发部署都得到简化。maven会帮我们在开发的过程中自动下载管理jar包。在pom.xml中写数据库连接的依赖如下:
在这里插入图片描述
所以maven会自动下载连接数据库的jar包:mysql-connector-java-8.0.17.jar;项目打包的时候所有的jar包也都会随着打包部署到tomcat中。(看!全是jar)
在这里插入图片描述
原创,转载请标明,谢谢!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值