初學Nginx(三)upstream初步體驗
阿新 • • 發佈:2019-01-27
新建四個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/上
都新增
<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/上