前后端请求之nginx配置

问题: 前端发送的请求,是如何请求到后端服务器的?

如,前端请求地址:http://loclhost/api/employee/login:

后端相应请求地址:http://loclhost:8080/admin/employee/login


回答: 使用nginx进行反向代理,即将前端发送的动态请求由nginx转发到后端服务器。

nginx代理的好处:

使用nginx进行反向代理的好处:

  • 提高访问速度:nginx可以缓存数据,当请求同样的接口地址时,无需请求真正的后端服务,直接将nginx中缓存的数据响应给前端,从而提高了响应速度。

  • 进行负载均衡:系统上线之后,有可能访问压力较大,后端可能需要部署多台服务器构成服务器集群。此时,nginx可以作为负载均衡器,将前端发过来的大量请求均衡的分配给后端的各个服务器,如下图所示:

  • 保证后端服务安全:在真实企业项目当中,很多后端服务并没有直接暴露给互联网,而是部署在公司内部的局域网内的,并不是对外开放的,因此通过前端并不能直接请求到后端的服务的,所以需要将前端请求发送到nginx服务器,然后nginx服务器走内网发送到后端服务器,如下图所示:

如何实现相关nginx配置:


负载均衡策略:

举例

复制代码
user  root;
worker_processes  1;

events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

    #gzip  on;
	
	map $http_upgrade $connection_upgrade{
		default upgrade;
		'' close;
	}

	upstream webservers{
	  server 127.0.0.1:8080 weight=90 ;
	  #server 127.0.0.1:8088 weight=10 ;
	}

    server {
        listen       80;
        server_name  localhost;
        
        location / {
            root   /home/zxy/Projects/CangQiong/FrontEnd/nginx-1.20.2/html/sky;
            index  index.html index.htm;
        }

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # 反向代理,处理管理端发送的请求
        location /api/ {
			proxy_pass   http://localhost:8080/admin/;
            #proxy_pass   http://webservers/admin/;
        }
		
		# 反向代理,处理用户端发送的请求
        location /user/ {
            proxy_pass   http://webservers/user/;
        }

 
    }
}
相关推荐
乔宕一24 分钟前
windows SSH服务修改SSH登陆后的默认终端
运维·windows·ssh
bwz999@88.com1 小时前
联想SR5507X04安装ubuntu-24.04.4 server,采用 Linux 原生mdadm(mdraid)软 RAID+LVM分区
运维·服务器
Canicer1 小时前
OpenClaw搭配Coze工作流实现全自动发布文章至WordPress网站!
运维·服务器
王小义笔记2 小时前
WSL(Linux)如何安装conda
linux·运维·conda
Fairy要carry2 小时前
面试10-Agent 团队协议的管理
运维·服务器·网络
袁庭新2 小时前
M系列芯片Mac上通过Homebrew一键安装/卸载Nginx并上线项目全指南
运维·nginx·macos·袁庭新·袁庭新ai
偷懒下载原神2 小时前
【linux操作系统】信号
linux·运维·服务器·开发语言·c++·git·后端
源远流长jerry2 小时前
RDMA 传输服务详解:可靠性与连接模式的深度剖析
linux·运维·网络·tcp/ip·架构
存储服务专家StorageExpert2 小时前
NetApp NVME SSD 盘的学习笔记
运维·服务器·笔记·学习·存储维护·emc存储·netapp
小璐资源网2 小时前
新服务器上线:标准化初始化流程
运维·服务器