Spring Boot项目配合Nginx发布(单IP,单域名,多项目,多端口)
2018-02-03 10:00
417 查看
因为喜欢使用jar包发布项目,单个项目的启停不会影响其他项目正常运行,又不喜欢为每个项目都配置域名,所以想到了这样的部署方案:
项目名 端口 访问域名
project1 10001 http://xxx.com/project1
project2 10002 http://xxx.com/project2
主要使用Nginx的location配置过滤,参考教程:
https://www.cnblogs.com/coder-yoyo/p/6346595.html
http://blog.csdn.net/dengrz/article/details/77097842
http://blog.csdn.net/tjcyjd/article/details/50897959
主要配置如下:
注意:
Spring Boot项目在本地调试一般直接使用ip:port/路由,没有添加项目名,在发布时需指定server.context-path=project1,此时访问变成ip:port/project1/路由,方可被Nginx配置的location拦截。
项目发布后可现在Nginx本地根据curl ip:port/project1测试有无返回内容,若已经成功启动,但没有响应,考虑是不是防火墙限制。
常用命令:
lsof -i:8080 查看端口占用
java -jar demo.jar - -spring.config.location=application.yml 启动项目时加载其他的yml文件
iptables -L -n 查看防火墙开发端口
开发端口步骤
项目名 端口 访问域名
project1 10001 http://xxx.com/project1
project2 10002 http://xxx.com/project2
主要使用Nginx的location配置过滤,参考教程:
https://www.cnblogs.com/coder-yoyo/p/6346595.html
http://blog.csdn.net/dengrz/article/details/77097842
http://blog.csdn.net/tjcyjd/article/details/50897959
主要配置如下:
server { listen 80; server_name xxx.com;#域名 location /project1/ { # 项目一 proxy_pass http://10.10.31.62:10001; # 项目1对应的ip和端口 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location /project2/ { proxy_pass http://10.10.31.62:10002; # 项目2对应的ip和端口 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
注意:
Spring Boot项目在本地调试一般直接使用ip:port/路由,没有添加项目名,在发布时需指定server.context-path=project1,此时访问变成ip:port/project1/路由,方可被Nginx配置的location拦截。
项目发布后可现在Nginx本地根据curl ip:port/project1测试有无返回内容,若已经成功启动,但没有响应,考虑是不是防火墙限制。
常用命令:
lsof -i:8080 查看端口占用
java -jar demo.jar - -spring.config.location=application.yml 启动项目时加载其他的yml文件
iptables -L -n 查看防火墙开发端口
开发端口步骤
# 添加 /sbin/iptables -I INPUT -p tcp --dport 8000 -j ACCEPT # 保存 /etc/rc.d/init.d/iptables save # 重启服务 service iptables restart
相关文章推荐
- spring boot项目搭建 发布 打包弯路全纪录
- SpringBoot项目打包发布到外部tomcat时,出现各种异常的解决fang
- Java springboot项目的jar发布方式
- springBoot项目打jar包发布时启动包内置tomcat无法启动错误分析
- SpringBoot项目在Spring Tool Suite中更改默认发布目录为Tomcat
- 使用idea创建springboot项目并打成war包发布到weblogic上
- Spring Boot+Gradle项目打包发布
- Jenkins+github+maven自动构建发布SpringBoot项目
- spring boot 项目打成war包发布至外部web容器运行
- 使用springboot框架写项目打包jar发布后读取项目下静态文件异常
- Spring-boot将项目打为jar包发布
- springboot项目jar发布
- linux shell脚本 springboot项目发布的shell脚本 包括日志输出到指定的文件
- SpringBoot系列三:SpringBoot基本概念(统一父 pom 管理、SpringBoot 代码测试、启动注解分析、配置访问路径、使用内置对象、项目打包发布)
- Spring Boot 项目发布到 Tomcat 服务器的操作步骤
- Spring Boot项目导出jar包发布
- 【SpringBoot】Spring Boot热部署( 第9章 Spring Boot项目的发布方式 第10章 课程总结 )
- Intellij IDEA实现SpringBoot项目多端口启动的两种方法
- 使用idea创建springboot项目并打成war包发布到weblogic上
- Spring Boot 项目发布到 Tomcat 服务器