加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 移动互联 > 正文

猜你不知道Spring Boot的几种部署方式

发布时间:2019-07-24 12:40:16 所属栏目:移动互联 来源:Java架构笔记
导读:弁言 本文首要讲的是spring boot的五种陈设方法,内里是否有你不知道的呢,假若有接待评述留言哦,一路交换切磋哦!!! 可以行使各类要领将Spring Boot应用措施陈设到出产体系中。在本文中,我们将通过以下5种要领慢慢陈设Spring Boot应用措施: 在Java A

在直接配置中,我们直接在localhost上运行Nginx Web处事器和Spring Boot应用措施(虽然在差异的端口上)。我们让Ngnix署理REST哀求到Spring Boot应用措施:

  • 在Linux上安装Nginx Web处事器sudo apt-get install nginx,
  • /etc/ngnix/sites-available/default行使文本编辑器打开文件,
  • 好比说,我们有两个Spring Boot应用措施必要署理。然后用两个Spring Boot应用措施的以下块替代文件中的“location”块。请留意,可以在此处找到全部Nginx-Java设置。
  1. location /app1 { 
  2.  proxy_pass http://localhost:8080; 
  3. location /app2 { 
  4.  proxy_pass http://localhost:9000; 

在此基本上对未来的哀求http://localhost/app1/将被定向到/http://localhost:8080/,和未来的哀求http://localhost/app2/将被引导到/http://localhost:9000/。

负载平衡

假如您正在运行Spring Boot应用措施的多个实例,则可以启用Nginx以应用负载均衡。譬喻,假如我们在端口8080,8081和8082上运行3个app1实例。我们可以在这些处事器之间举办负载均衡,如下所示:

打开文件/etc/ngnix/sites-available/default并在文件顶部添加以下块(在处事器块之前):

  1. #configure load-balancing  
  2. upstream backend {  
  3.  server localhost:8080;  
  4.  server localhost:8081;  
  5.  server localhost:8082;  

修改app1 的proxy_pass参数,如下所示:

  1. location / app1 {  
  2.  proxy_pass http:// backend;  

基于此哀求http://localhost/app1/将被发送到/http://localhost:8080/,/http://localhost:8081/或/http://localhost:8082/。

陈设在NGINX Web处事器后头 - 容器化配置

在容器化配置中,我们将Nginx Web处事器和全部Spring Boot应用措施陈设在单独的Docker容器上。我们让Nginx(在本身的容器中运行)向Spring Boot应用措施容器署理REST哀求。

我们起首将全部Spring Boot应用措施打包在(胖)jar文件中(之前已经表明过)。此时,请留意通过向application.properties(或application.yml)文件添加以下行来为每个Spring Boot应用措施配置单个处事器端口和根上下文路径:

  1. server.port=8082 
  2. server.servlet.context-path=/search-service 

然后我们将天生的jar包陈设在单独的Docker容器中(之前也有表明)。

譬喻,我们陈设了四个Spring Boot应用措施; “说明处事”应用措施的单个实例和“搜刮处事”应用措施的三个实例。搜刮处事应用措施的三个实例将由Nginx负载均衡。

我们基于默认设置建设Nginx设置文件nginx.conf。我们为每个处事添加负载均衡和署理信息,如下所示:

  1. http { 
  2.  upstream backend { 
  3.  server search-service-1:8080; 
  4.  server search-service-2:8081; 
  5.  server search-service-3:8082; 
  6.  } 
  7.  server { 
  8.  listen 80 default_server; 
  9.  listen [::]:80 default_server; 
  10.  root /var/www/html; 
  11.  server_name _; 
  12.  location /search-service { 
  13.  proxy_pass http://backend/search-service; 
  14.  } 
  15.  location /analysis-service { 
  16.  proxy_pass http://analysis-service:8083/analysis-service; 
  17.  } 
  18.  } 
  19. events { worker_connections 1024; } 

哀求到http://localhost/search-service/将被引导到一个/http://search-service-1:8080/search-service/,/http://search-service-2:8081/search-service/和/http://search-service-3:8082/search-service/,和哀求http://localhost/analysis-service/将被引导到/http://analysis-service:8083/analysis-service/。

建设设置文件(nginx.conf)后,我们将在Docker容器中陈设Nginx Web处事器。为此,我们建设一个Dockerfile,如下所示:

  1. # latest nginx 
  2. FROM nginx 
  3. # copy custom configuration file 
  4. COPY nginx.conf /etc/nginx/nginx.conf 
  5. # expose server port 
  6. EXPOSE 80 
  7. # start server 
  8. CMD ["nginx", "-g", "daemon off;"] 

我们为Nginx Web处事器构建一个Docker镜像,如下所示:

  1. docker image build -t custom-nginx:latest . 

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读