1. 程式人生 > 實用技巧 >nginx安裝啟動+springboot專案實現負載均衡示例

nginx安裝啟動+springboot專案實現負載均衡示例

1.安裝啟動nginx


(1).安裝編譯工具及庫檔案

yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel

(2).安裝 PCRE,下載地址: https://ftp.pcre.org/pub/pcre/pcre-8.35.tar.gz

[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# wget https://ftp.pcre.org/pub/pcre/pcre-8.35.tar.gz
[root@localhost src]# tar -zxvf pcre-8.35.tar.gz
[root@localhost src]# cd pcre-8.35/
[root@localhost pcre-8.35]# ./configure && make && make install

(3).安裝nginx,下載地址: http://nginx.org/download/nginx-1.6.2.tar.gz

[root@localhost src]# cd /usr/local/src/
[root@localhost src]# wget http://nginx.org/download/nginx-1.6.2.tar.gz
[root@localhost src]# tar -zxvf nginx-1.6.2.tar.gz
[root@localhost src]# cd nginx-1.6.2/
[root@localhost nginx-1.6.2]# ./configure && make && make install

(4).啟動nginx

[root@localhost /]# cd /usr/local/nginx/sbin/
[root@localhost sbin]# ./nginx

2.springboot專案實現負載均衡示例


(1).建立springboot專案

(2).編寫可訪問的demo程式碼

package com.project.demo.spring.boot.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; /** * @author:wk * @date:2020/9/11 */ @ResponseBody @Controller @RequestMapping("/demo") public class TestController { @GetMapping("/getServerName") public String getServerName() { return "server1"; } }

(3).將專案打包放到一臺機器上,改動返回值為"server2"並將其打包放到另一臺機器上,分別啟動

(4).修改nginx負載均衡方面配置(預設為輪詢方式),並儲存

upstream myServer {
        server 10.1.4.85:8080;
        server 10.1.8.116:8080;
    }

    server {
        listen       7000;
        server_name  localhost;

        location / {
            proxy_pass http://myServer;
            root   html;
            index  index.html index.htm;
        }

(5).過載nginx配置

[root@localhost nginx]# cd /usr/local/nginx/sbin/
[root@localhost sbin]# ./nginx -s reload

(6).這時多次訪問http://(nginx安裝機器ip):7000/demo/getServerName,就會發現會輪詢的呼叫10.1.4.85和10.1.8.116的介面