SpringBoot项目部署到nginx

准备好Maven项目
修改pom.xml打包方式为war
在这里插入图片描述
将tomcat依赖改为 provided

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

在这里插入图片描述
配置maven打包

<build>
		<plugins>
			<plugin>
				<artifactId>maven-war-plugin</artifactId>
				<version>2.6</version>
				<configuration>
					<!--如果想在没有web.xml文件的情况下构建WAR,请设置为false-->
					<failOnMissingWebXml>false</failOnMissingWebXml>
				</configuration>
			</plugin>
		</plugins>
	</build>

在这里插入图片描述
修改配置文件的端口号

server:
  #端口号
  port: 8081

在这里插入图片描述
找到maven-》项目名——》Lifecycle——》package,
在这里插入图片描述
双击packege 项目会自动打包
在这里插入图片描述
打包成功后项目的target目录会出现一个war包
在这里插入图片描述
再打一个8082端口的war包,一会配置负载均衡时用

然后准备两个tomcat
在这里插入图片描述
将项目打成war包,放到webapps里面,两个tomcat都要放
在这里插入图片描述
这是我的项目war包
在这里插入图片描述
打开conf目录下的server.xml
在这里插入图片描述
端口号8080改为8081,和项目中的端口号匹配

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

在这里插入图片描述
host标签代码如下:docBase路径为8081项目路径

 <Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">
    
		<Context path="/" docBase="D:\software\tomcat\tomcat-8081\webapps\blog-8081-1" reloadable="false"></Context>

</Host>

在这里插入图片描述
第二个tomcat相同配置
但要注意:防止端口冲突,所有端口号加1
在这里插入图片描述
docBase路径为8082端口项目路径
在这里插入图片描述
启动两个tomcat
双击bin目录下的startup.bat
在这里插入图片描述
浏览器查看端口是否启动
在这里插入图片描述
在这里插入图片描述
启动后开始配置负载,打开nginx的conf文件
在这里插入图片描述
upstream 项目名
下面8081,8082是需要nginx代理的端口号 weight设置权重,都是1的话就是,每一个端口号出现的次数是50%
在这里插入图片描述
server中listen是nginx的端口号,当nginx代理成功后,访问8080端口,server_name是主机ip地址,本地的话是127.0.0.1或localhost,远程的话是ip地址proxy_pass是上面upstream 项目名 中的项目名
在这里插入图片描述
配置静态资源 root中写的是静态资源的路径
在这里插入图片描述
我这里就是把静态资源都放到了nginx下的html
在这里插入图片描述
配置成功后
命令行cmd启动nginx
在这里插入图片描述
发现8080端口代理了8081和8082
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43925089/article/details/106517320