在文章的开始,我要说一句。哦买嘎
为什么这样说呢,因为本人多次更改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的名称命名及路径问题)
显示如下为成功:
九、访问:
首次访问的时候会启动有一点时间,而且它会提示服务器拒绝访问,但是大家不要认为失败了,只要浏览器还在加载页面中就没失败。过个几分钟,页面就有了。之后就快了: