1. 程式人生 > >初學Nginx(三)upstream初步體驗

初學Nginx(三)upstream初步體驗

新建四個springboot工程
都新增
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>1.5.4.RELEASE</version>
</dependency>
</dependencies>
工程1  名稱為8021  埠為8021
@SpringBootApplication
@RestController
public class Main8021
{
    public static void main(String[] args)
    {
        SpringApplication.run(Main8021.class, args);
    }


    @RequestMapping("/a")
    public String index()
    {
        return "8021";
    }
}


工程2  名稱為8022  埠為8022、跟1一樣、只是埠和名字改了


工程3  名稱為8023  埠為8023  *注意@RequestMapping("/a")變成了@RequestMapping("/")
@SpringBootApplication
@RestController
public class Main8023
{


    public static void main(String[] args)
    {
        SpringApplication.run(Main8023.class, args);
    }


    @RequestMapping("/")
    public String index()
    {
        return "8023";
    }
}
工程4  名稱為8024  埠為8024、跟3一樣、只是埠和名字改了
nginx.conf
worker_processes  1;


events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;


    sendfile        on;
    keepalive_timeout  65;


upstream a {
server localhost:8021;
server localhost:8022;
}

upstream b {
server localhost:8023;
server localhost:8024;
}

    server {
        listen       80;
        server_name  localhost;
location /a/
{
proxy_pass http://a;
proxy_set_header X-Forwarded-For $remote_addr;
}
#處a之外的代理給b
location /
{
proxy_pass http://b;
proxy_set_header X-Forwarded-For $remote_addr;
}
    }
}
訪問http://localhost/a/會分別負載到http://localhost:8021/a和http://localhost:8022/a上
訪問http://localhost/會分別負載到http://localhost:8023/和http://localhost:8024/上