关于java:NginxZuul实现网关集群

45次阅读

共计 1627 个字符,预计需要花费 5 分钟才能阅读完成。

Nginx

下载 Nginx

下载 nginx, 这里作者选用的是 nginx/Windows-1.16.1 版本。
解压后如下:

Nginx 常用命令

  • 启动命令:start nginx
  • 进行命令:nginx.exe -s stop 或 nginx.exe -s quit
  • 查看 Nginx 版本:nginx -v

Nginx 启动

这里咱们抉择 cmd 启动,关上 cmd,切换到 nginx 目录

为了确保 nginx 的正确运行,咱们先不要批改 nginx.conf 文件,间接应用命令启动,看是否能失常拜访:localhost:80。

我的项目调整

  • TokenFilter 中把端口号打印进去
@Value("${server.port}")
private String serverPort;

Zuul 网关

我的项目启动程序

  1. 启动 eureka-server 服务(EurekaServer)
  2. 启动 config-server 服务(cloud config 分布式配置核心 –gitte)
  3. 启动 app-member 服务(会员服务)
  4. 启动 app-order 服务(订单服务)
  5. cmd 启动 zuul 81 网关
  6. idea 启动 zuul 82 网关

我的项目启动后如下:

这里只对 zuul 网关集群服务做具体介绍。

cmd 启动 zuul 81 网关

  • 找到 jar 包门路

  • cmd 切换到 target 目录,执行 java -jar xxx.jar 命令

idea 启动 zuul 82 网关

注:我这里启了 83 的网关。

  • 批改 zuul api 网关端口为 82(83)

  • idea 启动 AppGateway
  • 查看 eureka server 服务注册列表

批改 Nginx 配置文件

  • 关上 nginx.conf 文件

  • 增加上游服务器
     #### 上游服务器 集群 默认轮询机制
    upstream backServer{
        server localhost:81;
        server localhost:83;
    }

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {

            #root   html;
            #index  index.html index.htm;
            #### 指定上游服务器 负载平衡服务器
            proxy_pass http://backServer;
            index  index.html;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {root   html;}

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }
  • 应用命令 nginx.exe -s stop 进行 nginx 服务,再重启 nginx。
  • 拜访 http://localhost/api-member/getMember?name=iswulongbo&userToken=cloud


能够看到 8183 的网关轮询拜访

证实网关实现了集群!

正文完
 0