1 什么是Nginx

  • Nginx是一个轻量级/高性能的反向代理WEB服务器,它实现非常高效的反向代理、负载均衡、高并发。

    2 为什么使用Nginx

  • 因为他的事件处理机制:异步非阻塞事件处理机制:运用epoll模型提供了一个队列,排队解决

    3 Nginx怎么处理请求的

  • Nginx接受一个请求后,首先是由 Listenserver_name 指令匹配 server模块 ,再匹配 server模块 里的 location ,这个 location 就是实际地址.

    1. server{ # 第一个server区块开始,表示一个独立的虚拟主机站点
    2. listen 80; # 提供服务的端口默认80
    3. server_name localhost; # 提供服务的域名主机名
    4. location / { # 第一个location区块开始
    5. root html; # 站点根目录,相当于Nginx的安装目录
    6. index index.html index.html; # 默认的首页文件,多个用空格分开
    7. }
    8. }

    ```bash

    mysite_nginx.conf

the upstream component nginx needs to connect to

upstream django {

  1. # server unix:///path/to/your/mysite/mysite.sock; # for a file socket
  2. server 127.0.0.1:8001; # for a web port socket (we'll use this first)

}

configuration of the server

server {

# the port your site will be served on
listen      8000;
# the domain name it will serve for
server_name .example.com; # substitute your machine's IP address or FQDN (Fully Qualified Domain Name)全限定域名
charset     utf-8;

# max upload size
client_max_body_size 75M;   # adjust to taste

# Django media
location /media  {
    alias /path/to/your/mysite/media;  # your Django project's media files - amend as required
}

location /static {
    alias /path/to/your/mysite/static; # your Django project's static files - amend as required
}

# Finally, send all non-media requests to the Django server.
location / {
    uwsgi_pass  django;
    include     /path/to/your/mysite/uwsgi_params; # the uwsgi_params file you installed
}

} ```

4 什么是正向代理和反向代理

  1. 正向代理就是一个人发送一个请求直接就达到了目标的服务器
  2. 反向代理就是请求统一被Nginx接收,Nginx反向代理服务器接受到之后,按照一定的规则分发给了后端的业务处理服务器进行处理了。
  3. 反向代理的优点

    可以隐藏源服务器的存在和特征。 它充当互联网云和web服务器之间的中间层,安全

5 Nginx的优缺点

  • 优点:

    1. 占内存小,可以实现高并发连接,处理响应快
    2. 可实现HTTP服务器、虚拟主机、方向代理、负载均衡
    3. Nginx配置简单
    4. 可以不暴露正式的服务器IP地址
  • 缺点:

    动态处理差:Nginx处理静态文件号,耗费内存少,但是处理动态页面时比较鸡肋,现在一般前端用Nginx作为反向dialing抗住压力。

6 Nginx应用场景