SpringBoot项目部署到Linux端Tomcat服务器上,并直接通过域名访问应用

版权声明:本文为changeyd原创文章,未经changeyd允许不得转载。谢谢合作 https://blog.csdn.net/qq_40223688/article/details/88426631

在文章的开始,我要说一句。哦买嘎

为什么这样说呢,因为本人多次更改server.xml以及application.yml配置文件,老是无法完成部署,真心酸。再加上最近在面试,根本没有时间来管理这个平台,着实很难受。

然而,在刚刚,终于好了,可以直接通过公网IP进行访问应用了。原因是什么呢?(更改server.xml中的设置只通过重启服务器是没有用的,要直接重启虚拟云服务器才行,配置才会生效。我的天。)

吐槽也差不多了,上教程吧(此教程门槛为稍微懂服务器搭建,及部署应用的同学)

第一步,在IDEA上进行clean、install操作,生成war包:

一、在pom.xml中声明为war打包:

<packaging>war</packaging>

二、禁用springboot中内置的tomcat,部署到外部的tomcat中(之前有一个面试官问我为什么禁用,而不直接用内置的?)

于是我立即查找了相关解释:1.可以对tomcat进行优化和定制,比如修改配置文件;2.可能是打成jar包,开发环境需要重启,如果部署tomcat可以减少重启次数,公司估计不用docker 3.方便修改和降低内存占用吧,我打包成jar修改一点页面东西费劲死,要是tomcat里面改下很快

所以我觉得在理

     <!-- 排除内置tomcat容器,导出成war包可以让外部容器运行spring-boot项目-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

三、这里插入一段:就是关于在application.prod.yml中配置服务器信息,其实是没有效果的,因为它只针对本身自带的tomcat,部署到外部容器中将无效果

四、进行clean、install项目(顺序已经标注)

那么打包成war包之后,在控制台会输出路径,然后我们找到war包,然后复制

五、启动Xshell、然后启动Xftp,找到tomcat中webapps,将war包上传服务器磁盘

六、修改config下的server.xml

1.修改内容:将默认的8080端口改成80端口,这样就不需要输入访问端口了(80端口默认隐藏)

2.注意:绿色框默认为localhost,但是我们需要直接通过域名访问,那么就可以直接将其改为域名(例如:www.changemax.cn),这里我没有更改为域名,因为我的域名还在备案中。

红色框为springboot应用在服务器上的绝对路径地址值(如图二)

这样,我们的服务器部署就完成了,然后就可以重启服务器了:

七、博主买的是百度云的服务器,如果是其他平台的,操作过程也差不多,找找重启选项就好了。

八、重启之后,我们通过Xshell启动一下tomcat服务器

启动命令:/usr/local/java/tomcat9/bin/startup.sh
关闭命令:/usr/local/java/tomcat9/bin/shutdown.sh

只需要输入命令就好了(注意不同tomcat的名称命名及路径问题)

显示如下为成功:

九、访问:

首次访问的时候会启动有一点时间,而且它会提示服务器拒绝访问,但是大家不要认为失败了,只要浏览器还在加载页面中就没失败。过个几分钟,页面就有了。之后就快了:

猜你喜欢

转载自blog.csdn.net/qq_40223688/article/details/88426631