宝塔nginx配置SpringBoot服务集群代理

这篇具有很好参考价值的文章主要介绍了宝塔nginx配置SpringBoot服务集群代理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

宝塔nginx配置SpringBoot服务集群代理

1、需求:

现有一个springboot服务需要部署成集群,通过nginx负载均衡进行访问,其中这个springboot服务内置了MQTT服务、HTTP服务、TCP服务。

MQTT服务开放了1889端口

HTTP服务开放了8891端口

HTTP服务开放了8893端口

TCP服务开放了8893端口

该服务在宝塔部署启动后开启的端口

宝塔nginx配置SpringBoot服务集群代理,nginx,spring boot,运维

2、nginx代理部署后的集群服务

宝塔nginx的nginx.conf位置

/www/server/nginx/conf/nginx.conf

nginx.conf原始内容:

user  www www;
worker_processes auto;
error_log  /www/wwwlogs/nginx_error.log  crit;
pid        /www/server/nginx/logs/nginx.pid;
worker_rlimit_nofile 51200;

stream {
    log_format tcp_format '$time_local|$remote_addr|$protocol|$status|$bytes_sent|$bytes_received|$session_time|$upstream_addr|$upstream_bytes_sent|$upstream_bytes_received|$upstream_connect_time';
  
    access_log /www/wwwlogs/tcp-access.log tcp_format;
    error_log /www/wwwlogs/tcp-error.log;
    include /www/server/panel/vhost/nginx/tcp/*.conf;
}

events
    {
        use epoll;
        worker_connections 51200;
        multi_accept on;
    }

http
    {
        include       mime.types;
		#include luawaf.conf;

		include proxy.conf;

        default_type  application/octet-stream;

        server_names_hash_bucket_size 512;
        client_header_buffer_size 32k;
        large_client_header_buffers 4 32k;
        client_max_body_size 50m;

        sendfile   on;
        tcp_nopush on;

        keepalive_timeout 60;

        tcp_nodelay on;

        fastcgi_connect_timeout 300;
        fastcgi_send_timeout 300;
        fastcgi_read_timeout 300;
        fastcgi_buffer_size 64k;
        fastcgi_buffers 4 64k;
        fastcgi_busy_buffers_size 128k;
        fastcgi_temp_file_write_size 256k;
		fastcgi_intercept_errors on;

        gzip on;
        gzip_min_length  1k;
        gzip_buffers     4 16k;
        gzip_http_version 1.1;
        gzip_comp_level 2;
        gzip_types     text/plain application/javascript application/x-javascript text/javascript text/css application/xml;
        gzip_vary on;
        gzip_proxied   expired no-cache no-store private auth;
        gzip_disable   "MSIE [1-6]\.";

        limit_conn_zone $binary_remote_addr zone=perip:10m;
		limit_conn_zone $server_name zone=perserver:10m;

        server_tokens off;
        access_log off;

server
    {
        listen 888;
        server_name phpmyadmin;
        index index.html index.htm index.php;
        root  /www/server/phpmyadmin;

        #error_page   404   /404.html;
        include enable-php.conf;

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }

        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }

        location ~ /\.
        {
            deny all;
        }

        access_log  /www/wwwlogs/access.log;
    }
include /www/server/panel/vhost/nginx/*.conf;
}


文件中的 include /www/server/panel/vhost/nginx/tcp/*.conf;表明了nginx加载.conf文件的位置,我们要配置集群代理,需要

在/www/server/panel/vhost/nginx/这个目录下面配置多个.conf文件,即可完成需求。

宝塔nginx配置SpringBoot服务集群代理,nginx,spring boot,运维

a、修改java_veiplinks-standalone.conf

upstream iotserver {
  server 192.168.0.26:8844;
  server 192.168.0.27:8844;
  server 192.168.0.28:8844;
  server 192.168.0.107:8848;
  server 192.168.0.104:8848;
}

upstream fileserver {
#  server 192.168.0.26:8844; #此处指定文件上传到该服务器上
  server 192.168.0.107:8848;
}

server {

  listen       80;
  server_name  iot_server 
    # gzip config
    gzip on;
    gzip_min_length 1k;
    gzip_comp_level 9;
    gzip_types text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml;
    gzip_vary on;
    gzip_disable "MSIE [1-6]\.";

    root /home/wwwroot/iotlinks-client/dist;
#     include /etc/nginx/mime.types;
    location / {
        index  index.html;
    }

  location ^~/upload/ {
    proxy_pass http://fileserver;
    proxy_set_header Host $host:$server_port;
    proxy_set_header X-Real-IP  $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }

  location ^~/veiplinks/file/static {
    proxy_pass http://fileserver/file/static;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header Host $host:$server_port;
    proxy_set_header X-Real-IP  $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_send_timeout      30m;
    proxy_read_timeout      30m;
    client_max_body_size    100m;
  }


  location ^~/veiplinks/ {
    proxy_pass http://iotserver/;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header Host $host:$server_port;
    proxy_set_header X-Real-IP  $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_connect_timeout   1;
    proxy_buffering off;
    chunked_transfer_encoding off;
    proxy_cache off;
    proxy_send_timeout      30m;
    proxy_read_timeout      30m;
    client_max_body_size    100m;
  }
}

b、在tcp目录下创建文件ngx_stream_proxy.conf并编辑文章来源地址https://www.toymoban.com/news/detail-828590.html

   upstream mqtt-cluster {
#        hash $remote_addr consistent;
       server 192.168.0.26:1889 max_fails=3 fail_timeout=10s;
       server 192.168.0.27:1889 max_fails=3 fail_timeout=10s;
       server 192.168.0.28:1889 max_fails=3 fail_timeout=10s;
       server 192.168.0.107:1889 max_fails=3 fail_timeout=10s;
       server 192.168.0.104:1889 max_fails=3 fail_timeout=10s;
   }

   upstream http-cluster {
#        hash $remote_addr consistent;
       server 192.168.0.26:8891 max_fails=3 fail_timeout=10s;
       server 192.168.0.27:8891 max_fails=3 fail_timeout=10s;
       server 192.168.0.28:8891 max_fails=3 fail_timeout=10s;
       server 192.168.0.107:8891 max_fails=3 fail_timeout=10s;
       server 192.168.0.104:8891 max_fails=3 fail_timeout=10s;
   }

   upstream tcp-cluster {
#        hash $remote_addr consistent;
       server 192.168.0.26:8893 max_fails=3 fail_timeout=10s;
       server 192.168.0.27:8893 max_fails=3 fail_timeout=10s;
       server 192.168.0.28:8893 max_fails=3 fail_timeout=10s;
       server 192.168.0.107:8893 max_fails=3 fail_timeout=10s;
       server 192.168.0.104:8893 max_fails=3 fail_timeout=10s;
   }

   upstream rs485-tcp-cluster {
#        hash $remote_addr consistent;
       server 192.168.0.26:8894 max_fails=3 fail_timeout=10s;
       server 192.168.0.27:8894 max_fails=3 fail_timeout=10s;
       server 192.168.0.28:8894 max_fails=3 fail_timeout=10s;
       server 192.168.0.107:8894 max_fails=3 fail_timeout=10s;
       server 192.168.0.104:8894 max_fails=3 fail_timeout=10s;
   }

   server {
     
       listen 1884;
     
       proxy_pass mqtt-cluster;
  
       proxy_connect_timeout 30s;
  
       proxy_timeout 30s;
   }

   server {
     
       listen 8841;
     
       proxy_pass http-cluster;
  
       proxy_connect_timeout 30s;
  
       proxy_timeout 30s;
   }

   server {
     
       listen 8843;
     
       proxy_pass tcp-cluster;
  
       proxy_connect_timeout 30s;
  
       proxy_timeout 30s;
   }

   server {
     
       listen 8844;
     
       proxy_pass rs485-tcp-cluster;
  
       proxy_connect_timeout 30s;
  
       proxy_timeout 30s;
   }

3、重启ngnix服务器,当请求来到nginx服务会被转发到不同服务器上

到了这里,关于宝塔nginx配置SpringBoot服务集群代理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Nacos基础(3)——nacos+nginx & 集群的配置和启动 & 端口开放 & nginx反向代理nacos集群

    1.nacos集群启动的方式,修改cluster.conf集群的配置,多个nacos; 2.修改启动配置文件application.properties,多个nacos分别以集群方式启动; 3.nginx反向代理多个nacos,配置代理tcp,以及http; 启动8848, 8858, 8868三个服务器 vim cluster.conf配置文件,配置多个nacos服务端口 同步两个的配置

    2024年02月02日
    浏览(64)
  • Linux/openEuler系统部署spring boot+vue前后端分离项目(nginx均衡代理)

    可以看我前面的文章 华为openEuler系统安装openjdk并配置环境变量 openEuler系统安装nginx HUAWEI-OpenEuler系统安装MySQL服务器并使用详细步骤 Ubuntu安装MySQL服务器详细步骤 在确定项目可以正常运行的前提下,进行package打出jar包 npm run build 打包成功后在项目文件路径下出现dist文件夹

    2024年03月24日
    浏览(94)
  • 微服务Gateway网关(自动定位/自定义过滤器/解决跨域)+nginx反向代理gateway集群

    目录 Gateway网关 1.0.为什么需要网关? 1.1.如何使用gateway网关 1.2.网关从注册中心拉取服务 1.3.gateway自动定位 1.4.gateway常见的断言 1.5.gateway内置的过滤器 1.6.自定义过滤器-全局过滤器 1.7.解决跨域问题 2.nginx反向代理gateway集群 2.1.配置文件 继  nacos注册中心+Ribbon负载均衡+完成

    2024年02月06日
    浏览(69)
  • Nginx反向代理服务配置和负载均衡配置

    node1:128 node2:135 node3:130 node4:132 node2、node3、node4已安装nginx nginx安装可查看https://blog.csdn.net/HealerCCX/article/details/132089836?spm=1001.2014.3001.5502

    2024年02月14日
    浏览(43)
  • 在Spring Boot微服务集成JedisCluster操作Redis集群

    记录 :448 场景 :在Spring Boot微服务使用JedisCluster操作Redis集群的缓存和队列等数据类型。 版本 :JDK 1.8,Spring Boot 2.6.3,redis-6.2.5,jedis-3.7.1。 1.微服务中 配置Redis信息 1.1在pom.xml添加依赖 pom.xml文件: 解析:在Spring Boot中默认集成jedis,使用无需加版本号,本例版本3.7.1是Spring 

    2024年02月09日
    浏览(49)
  • 在Spring Boot微服务集成spring-kafka操作Kafka集群

    记录 :461 场景 :在Spring Boot微服务集成spring-kafka-2.8.2操作Kafka集群。使用KafkaTemplate操作Kafka集群的生产者Producer。使用@KafkaListener操作Kafka集群的消费者Consumer。 版本 :JDK 1.8,Spring Boot 2.6.3,kafka_2.12-2.8.0,spring-kafka-2.8.2。 Kafka集群安装 :https://blog.csdn.net/zhangbeizhen18/article/details

    2024年02月10日
    浏览(52)
  • 宝塔反向代理后报错:502 Bad Gateway nginx

    我应该跟这个问题差不多,解决方案也来自这里: 在反代的时候没有强制指定SSL协议,导致SSL握手失败,在反代配置中添加上相关的配置就好:

    2024年02月12日
    浏览(48)
  • Nginx反向代理服务器简单配置案例

    --------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------

    2024年02月03日
    浏览(47)
  • 服务器配置到云上nginx代理

    1. 打开本地电脑的 hosts 文件。位置在:- Windows: C:WindowsSystem32driversetchosts - Mac / Linux: /etc/hosts 2. 在文件末尾添加一行,格式为: 127.0.0.1 是 localhost 的 IP 地址,gatueerdrsaams.cn 是你要映射的域名。 3. 保存 hosts 文件。 4. 打开命令行,运行  ipconfig /flushdns  命令,清除 DNS 缓存。 nginx配

    2024年02月10日
    浏览(52)
  • nginx反向代理服务器及负载均衡服务配置

    一、正向代理与反向代理 正向代理:是一个位于客户端和原始服务器(oricin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。 正向代理的典型用途是为在防火

    2024年02月04日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包