nginx学习

509 阅读2分钟

学习链接:
juejin.cn/post/684490… juejin.cn/post/684490…

nginx是什么?

Nginx 是一款 http 服务器 (或叫web服务器)。

web服务器:负责处理和响应用户请求,一般也称为http服务器,如 Apache、IIS、Nginx
应用服务器:存放和运行系统程序的服务器,负责处理程序中的业务逻辑,如 Tomcat、Weblogic

nginx作用

1. 动静资源分离

Nginx 服务器将接收到的请求分为动态请求和静态请求。

静态请求直接从 nginx 服务器所设定的根目录路径去取对应的资源;
动态请求转发给真实的后台(前面所说的应用服务器,如图中的Tomcat)去处理。

这样做不仅能给应用服务器减轻压力,将后台api接口服务化,还能将前后端代码并行开发和分别部署

2. 作为应用服务器的反向代理

作用:
1. 保障应用服务器的安全:增加一层代理,可以屏蔽危险攻击,更方便的控制权限。
2. 反向代理是负载均衡的基础。
3. 实现跨域

3. 负载均衡

为了解决用户请求的压力,将一系列的服务器组成一个系统(集群),用户的请求会均匀地分配到各个服务器上。

作用
1. 分摊服务器集群压力
2. 保证客户端访问的稳定性

nginx配置

# 负载均衡:设置domain
upstream domain {
    server localhost:8000;
    server localhost:8001;
}
server {  
        listen       8080;        
        server_name  localhost;

        location / {
            # root   html; 
            # index  index.html index.htm;
            
            proxy_pass http://domain; # 负载均衡配置,请求会被平均分配到8000和8001端口
            proxy_set_header Host $host:$server_port;
        }
}

4. 作为客户端的正向代理

Client想向Server发送请求并取得相应,须经过正向代理(也是一个服务器),代理服务器将Client的请求发送给Server,Server响应后回复给代理服务器,代理服务器将响应返回给Client。

vpn就是一种正向代理