美文网首页
nginx配置文件详解

nginx配置文件详解

作者: 超鸽带你飞 | 来源:发表于2018-11-28 15:41 被阅读14次

基本就分为以下几块:

main
events   {
  ....
}
http        {
  ....
  upstream myproject {
    .....
  }
  server  {
    ....
    location {
        ....
    }
  }
  server  {
    ....
    location {
        ....
    }
  }
  ....
}

nginx配置文件主要分为六个区域:
main(全局设置)、events(nginx工作模式)、http(http设置)、
sever(主机设置)、location(URL匹配)、upstream(负载均衡服务器设置)。

1. main模块

  • worker_rlimit_nofile 用于指定一个nginx进程可以打开的最多文件描述符数目,这里是65535,需要使用命令ulimit -n 65535来设置。

2. events 模块

events {
    use epoll; #linux平台
    worker_connections  1024;
}
  • use用来指定Nginx的工作模式。Nginx支持的工作模式有select、poll、kqueue、epoll、rtsig和/dev/poll。其中select和poll都是标准的工作模式,kqueue和epoll是高效的工作模式,不同的是epoll用在Linux平台上,而kqueue用在BSD系统中,因为Mac基于BSD,所以Mac也得用这个模式,对于Linux系统,epoll工作模式是首选。
  • worker_connections用于定义Nginx每个进程的最大连接数,即接收前端的最大请求数,默认是1024。最大客户端连接数由worker_processes和worker_connections决定,即Max_clients=worker_processes*worker_connections,在作为反向代理时,Max_clients变为:Max_clients = worker_processes * worker_connections/4。
    进程的最大连接数受Linux系统进程的最大打开文件数限制,在执行操作系统命令ulimit -n 65536后worker_connections的设置才能生效。

3. server 模块

  • root 表示在这整个server虚拟主机内,全部的root web根目录,注意要和locate {}下面定义的区分开来
  • index 全局定义访问的默认首页地址。注意要和locate {}下面定义的区分开来。

4. location 模块

location / {
    root   /Users/yangyi/www;
    index  index.php index.html index.htm;
}
  • location /表示匹配访问根目录。 还有一种方式就是正则匹配,开启正则匹配这样:location ~ 后面加个~。
  • root指令用于指定访问根目录时,虚拟主机的web目录,这个目录可以是相对路径(相对路径是相对于nginx的安装目录)。也可以是绝对路径。
  • index用于设定我们只输入域名后访问的默认首页地址,有个先后顺序:index.php index.html index.htm,如果没有开启目录浏览权限,又找不到这些默认首页,就会报403错误。

5. upstream 模块

upstream iyangyi.com{
    ip_hash;
    server 192.168.12.1:80;
    server 192.168.12.2:80 down;
    server 192.168.12.3:8080  max_fails=3  fail_timeout=20s;
    server 192.168.12.4:8080;
}

相关文章

网友评论

      本文标题:nginx配置文件详解

      本文链接:https://www.haomeiwen.com/subject/ubqlqqtx.html