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

全部评论

相关推荐

头像
昨天 15:46
已编辑
中南大学 后端
字节国际 电商后端 24k-35k
点赞 评论 收藏
分享
点赞 评论 收藏
分享
10-25 00:32
香梨想要offer:感觉考研以后好好学 后面能乱杀,目前这简历有点难
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务