1.1 建立产品服务(product_server)
- 配置文件
server:
port: 8080
servlet:
context-path: /product
- 创建访问接口
@SpringBootApplication
@RestController
public class ProductApplication {
public static void main(String[] args) {
SpringApplication.run(ProductApplication.class, args);
}
@GetMapping("/add")
public String addProduct() {
return "添加产品成功";
}
@GetMapping("/update")
public String updateProduct() {
return "编辑产品成功";
}
}
1.2 创建订单服务(order_server)
- 配置文件
server:
port: 8081
servlet:
context-path: /order
- 创建访问接口
@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 "编辑订单成功";
}
}
- 同上进行访问,肯定没问题。
二、修改hosts文件
添加以下三个映射
127.0.0.1 www.product.com
127.0.0.1 www.order.com
127.0.0.1 nginx.test.com
三、修改nginx配置文件
- 更换配置文件内容
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
default_type application/octet-stream;
#设定日志
log_format main '[$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;
#定义使用www.xx.com访问
server_name nginx.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;
}
}
}
- 在nginx根目录下输入命令:nginx -tc conf/nginx.conf测试配置文件,成功。
- 输入命令:start nginx启动nginx。
四、测试
至此,我们便实现了使用nginx服务的80端口反向代理产品服务和订单服务
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:同一个Nginx服务器同一端口配置多个代理服务 - Python技术站