linux系统上部署springboot项目,可直接通过ip访问

1.修改打包方式为war

<packaging>war</packaging>

2.设置打包后的包名,添加springboot的maven插件

<build>
   <finalName>bhy702-website</finalName>
   <plugins>
       <plugin>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-maven-plugin</artifactId>
       </plugin>
   </plugins>
</build>

3.导入以下依赖,覆盖默认内嵌的Tomcat依赖,注意设置与部署环境相同的tomcat版本(巨坑)

<properties>
   <java.version>1.8</java.version>
   <tomcat.version>8.0.46</tomcat.version>
</properties>
		<!--Springboot集成的tomcat来提供api-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <version>${tomcat.version}</version>
            <scope>provided</scope>
        </dependency>

4.修改启动类,继承SpringBootServletInitializer 类,并重写configure方法

@SpringBootApplication
public class WebsiteApplication extends SpringBootServletInitializer {

    public static void main(String[] args) {
        SpringApplication.run(WebsiteApplication.class, args);
    }

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(WebsiteApplication.class);
    }
}

5.配置application.properties文件

#端口号
server.port=8080

#1 应用的上下文路径,也可以称为项目路径,如果要自定义,注意要与war包的包名相同
#server.servlet.context-path=/projectName

#  推荐
#2 当与war包名不同时,不能通过 **ip:端口/项目名** 访问,如果将解压文件夹的子文件放入ROOT下就可以不带项目名访问
server.servlet.context-path=/

6.执行maven命令,clear与package(或install)打包项目

7.部署项目

将war包放入linux系统中tomcat的webapps目录下,访问如下

ip(域名):端口/项目名 (http://www.bhy702.com:8080/website)

将war包放入linux系统中tomcat的webapps目录下自动解包后将项目文件夹的子文件全部放入ROOT文件夹下,注意此时webapps下的原war包以及解压包需要删除,不然不加war包名(项目名)不能访问。

ip(域名):端口 (http://www.bhy702.com:8080/)

原因:
tomcat默认会优先在webapps目录下寻找项目文件,再去ROOT下寻找,如果webapps下已经存在项目,则不能通过 **ip(域名):端口访问,如:(http://www.bhy702.com:8080/),会提示404。需删除webapps下项目war包及项目文件。

8.设置tomcat的bin文件下server.xml文件,通过ip直接访问,重启tomcat

将8080改为80:将端口设为80以后,访问项目时,tomcat会自动舍去端口号
<Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
               URIEncoding="UTF-8"/>
【注意】:记得开启服务器的80端口号,重启防火墙。

欢迎访问本文的个人博客链接:https://br-bai.github.io/2019/01/17/Linux系统上部署SpringBoot项目,可直接通过ip访问/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值