spring-boot 构建war包发布应用程序

本文介绍如何将Spring Boot项目以WAR包形式部署到Tomcat服务器上,并通过配置实现域名访问及端口更改。

实现步骤

修改打包方式

        在pom.xml将打包方式改为<packaging>war</packaging>

添加Tomcat依赖

        在pom.xml中添加Tomcat的依赖坐标

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-tomcat</artifactId>
		</dependency>

    排除掉内置的tomcat

		<!--Spring Boot依赖-->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>

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

		</dependency>

修改启动类

        将应用主类继承SpringBootServletInitializer 重新父类的configure方法。

@SpringBootApplication
public class DemoApplication extends SpringBootServletInitializer{

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

	@Override
	protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
		return builder.sources(DemoApplication.class);
//		return super.configure(builder);
	}
}

 

部署

项目部署配置

在Tomcat的webapps外的任意文件夹创建一个文件夹放war解压后的文件 例如:C:\www

最终目录如下:

163743_Z4bV_1993676.png

在TOMCAT_HOME/conf/ server.xml 文件找到 Host 标记,在其中添加如下子标记: 

<Context path="" docBase="C:\www\admin" reloadable="false" />

 Host 标记中的 appBase 属性不要去修改,让其为默认值 "webapps"

以上配置中的 Context 标记的 path 属性一定要设置为 "" 而不是 "/"

配置域名

假如已经申请了一个域名:www.tomcat.com

在TOMCAT_HOME/conf/ server.xml 文件找到 Host 标记

      <Host name="www.tomcat.com"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

  			<Context path="" docBase="C:\www\admin" reloadable="false" />

            

        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

      </Host>

修改<Host name="域名">启动tomcat 访问http://www.tomcat.com:8080

165556_FVNn_1993676.png

访问项目需要制定端口号是8080,现在设置tomcat为80端口:

在TOMCAT_HOME/conf/ server.xml 文件找到 如下标记将8080修改为80

<Connector port="80" protocol="HTTP/1.1"
    connectionTimeout="20000"
    redirectPort="8443"
    URIEncoding="UTF-8" />

同时添加一个编码属性:URIEncoding="UTF-8"。重启tomcat 后访问:http://www.tomcat.com

170300_XPl7_1993676.png

转载于:https://my.oschina.net/u/1993676/blog/1587086

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值