一、建立两个服务
1.1 建立产品服务(product_server)
配置文件
server:
port: 8080
servlet:
context-path: /product
1
2
3
4
创建访问接口
@SpringBootApplication
@RestController
public class ProductApplication {
public static void main(String[] args) {
springapplication.run - 这个网站可出售。 - 最佳的springapplication 来源和相关信息。(ProductApplication.class, args);
}
@GetMapping("/add")
public String addProduct() {
return "添加产品成功";
}
@GetMapping("/update")
public String updateProduct() {
return "编辑产品成功";
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
启动,访问:http://localhost:8080/product/add
访问:http://localhost:8081/order/update
1.2 创建订单服务(order_server)
配置文件
server:
port: 8081
servlet:
context-path: /order
1
2
3
4
创建访问接口
@SpringBootApplication
@RestController
public class OrderApplication {
public static void main(String[] args) {
SpringApplication.run(OrderApplication.class, args);
}
@GetMapping("/add")
public String addOrder() {
return "添加订单成功";
}
@GetMapping("/update")
public String updateOrder() {
return "编辑订单成功";
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
同上进行访问,肯定没问题。
二、修改hosts文件
添加以下三个映射
127.0.0.1 www.product.com
127.0.0.1 www.order.com
127.0.0.1 nginx.test.com
1
2
3
三、修改nginx配置文件
更换配置文件内容
#usernobody;
worker_processes1;
#error_loglogs/error.log;
#error_loglogs/error.lognotice;
#error_loglogs/error.loginfo;
#pidlogs/nginx.pid;
events {
worker_connections1024;
}
http {
default_typeapplication/octet-stream;
#设定日志
log_formatmain[$remote_addr] - [$remote_user] [$time_local] "$request"
$status $body_bytes_sent "$http_referer"
"$http_user_agent" "$http_x_forwarded_for";
rewrite_log on;
#设置访问的web应用列表
upstream product_server{
server www.product.com:8080;
}
upstream order_server{
server www.order.com:8081;
}
#HTTP服务器
server {
#监听80端口,80端口是知名端口号,用于HTTP协议
listen 80;
#定义使用http://www.xx.com访问
server_namenginx.test.com;
#编码格式
charset utf-8;
#代理配置参数
proxy_connect_timeout 180;
proxy_send_timeout 180;
proxy_read_timeout 180;
proxy_set_header Host $host;
proxy_set_header X-Forwarder-For $remote_addr;
#默认指向product的server
location / {
proxy_pass http://product_server;
}
#使用location对不同请求做相应处理
location /product/{
proxy_pass http://product_server;
}
location /order/ {
proxy_pass http://order_server;
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
在nginx根目录下输入命令:nginx -tc conf/nginx.conf测试配置文件,成功。
输入命令:start nginx启动nginx。
四、测试
至此,我们便实现了使用nginx服务的80端口反向代理产品服务和订单服务
————————————————
版权声明:本文为CSDN博主「_chenyl」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qwqw3333333/java/article/details/88259768