Nginx基础

97 阅读3分钟

一、Nginx

  • HTTP服务器

Nginx可以直接用作HTTP服务器

server {

listen 80; # 端口号

    location / {

    root /usr/share/nginx/html; # 静态文件路径

    }

}
  • 正向代理(代理客户端)比如VPN代理,Nginx相当于门卫

  • 反向代理(代理服务器)

      server {
    
      listen 80;         #监听
    
          location / {
    
          proxy_pass http://192.168.0.112:8080; # 应用服务器HTTP地址
    
          }
    
      }
    
  • 负载均衡(域名访问量大,多个IP[机器]对应)

      upstream myweb {
    
      server 192.168.0.111:8080; # 应用服务器1
    
      server 192.168.0.112:8080; # 应用服务器2
    
      }
    
      server {
    
      listen 80;    #监听
    
          location / {
    
          proxy_pass http://myweb;
    
          }
    
      }
    
  • 虚拟主机(域名访问量小,多个域名对应一个IP[机器])

例如将www.aaa.com和www.bbb.com两个网站部署在同一台服务器上,两个域名解析到同一个IP地址,但是用户通过两个域名却可以打开两个完全不同的网站,互相不影响,就像访问两个服务器一样,所以叫两个虚拟主机。

在服务器8080和8081分别开了一个应用,客户端通过不同的域名访问,根据server_name可以反向代理到对应的应用服务器。server_name:用来设置虚拟主机服务名称。另外,server_name配置还可以过滤有人恶意将某些域名指向你的主机服务器。

虚拟主机的原理是通过HTTP请求头中的Host是否匹配server_name来实现的,有兴趣的同学可以研究一下HTTP协议。

server {

listen 80 default_server;

server_name _;

return 444; # 过滤其他域名的请求,返回444状态码

}

server {

listen 80;

server_name www.aaa.com; # www.aaa.com域名

    location / {

    proxy_pass http://localhost:8080; # 对应端口号8080

    }

}

server {

    listen 80;

    server_name www.bbb.com; # www.bbb.com域名

    location / {

    proxy_pass http://localhost:8081; # 对应端口号8081

    }

}

二、Nginx配置

1. nginx.conf 配置文件主要分为三部分:全局块、events块、https块。

2. 全局块:全局配置部分用来配置对整个server都有效的参数。主要会设置一些影响 nginx 服务器整体运行的配置指令,主要包括配置运行 Nginx 服务器的用户(组)、允许生成的 worker process 数,进程 PID 存放路径、日志存放路径和类型以 及配置文件的引入等。

3. events块:events 块涉及的指令主要影响 Nginx 服务器与用户的网络连接,常用的设置包括是否开启对多 work process 下的网络连接进行序列化,是否允许同时接收多个网络连接,选取哪种事件驱动模型来处理连接请求,每个 word process 可以同时支持的最大连接数等。

4. http 块:这算是 Nginx 服务器配置中最频繁的部分,代理、缓存和日志定义等绝大多数功能和第三方模块的配置都在这里。 需要注意的是:http 块也可以包括 http 全局块、server 块。

  • http 全局块这算是 Nginx 服务器配置中最频繁的部分,代理、缓存和日志定义等绝大多数功能和第三方模块的配置都在这里。 需要注意的是:http 块也可以包括 http 全局块、server 块。
  • server这块和虚拟主机有密切关系,虚拟主机从用户角度看,和一台独立的硬件主机是完全一样的,该技术的产生是为了节省互联网服务器硬件成本。

 

参考:zhuanlan.zhihu.com/p/97634361