1.修改打包方式为war
1
| <packaging>war</packaging>
|
2.设置打包后的包名,添加springboot的maven插件
1 2 3 4 5 6 7 8 9
| <build> <finalName>bhy702-website</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
|
3.导入以下依赖,覆盖默认内嵌的Tomcat依赖,注意设置与部署环境相同的tomcat版本(巨坑)
1 2 3 4
| <properties> <java.version>1.8</java.version> <tomcat.version>8.0.46</tomcat.version> </properties>
|
1 2 3 4 5 6 7 8 9 10 11 12
| <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>
|
1 2 3 4 5 6 7 8 9 10 11 12
| @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文件
1 2 3 4 5 6 7 8 9
| #端口号 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/)
原因:
8.设置tomcat的bin文件下server.xml文件,通过ip直接访问,重启tomcat
将8080改为80:将端口设为80以后,访问项目时,tomcat会自动舍去端口号
1 2 3 4 5
| <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/> `
|
【注意】:记得开启服务器的80端口号,重启防火墙。