首页 > 代码库 > Nginx配置初步

Nginx配置初步

默认启动Nginx的时候,使用的配置文件是,安装路径/conf/nginx.conf文件

可以在nginx的时候,通过-c来指定要读取的配置文件

常见的配置文件有如下几个:

    nginx.conf:应用程序的基本配置文件

    mime.types:MIME类型关联的扩展文件

    fastcgi.conf:与fastcgi相关的配置

    proxy.conf:与proxy相关的配置

    sites.conf:配置Nginx提供的网站,包括虚拟主机

Nginx的进程结构

    启动Nginx的时候,会启动一个Master进程,这个进程不处理任何客户端的请求,主要用来产生worker进程,一个worker进程用来处理一个request。

Nginx模块分为,核心模块、事件模块、标准Http模块、可选Http模块、邮件模块、第三方模块和补丁等

     在配置文件可以使用include file.conf;包含进配置文件

主配置文件nginx.conf

    user //nginx的用户

    pid //nginx的pid

    work_processes //工作进程数 设置时和cpu数一样或都比cpu数少一

    error_log logs/error.log [debug | info | notice | warn | error | crit | alert | ermerg ] //错误日志

    work_cpu_affinity //cpu和进程绑定

    当work_processes 4时

    work_cpu_affinity 0001 0010 0100 1000

    work_processes 2

    work_cpu_affinity 0101 1010    

    work_priority number //work优先级调整  -20 to 20

    work_rlimit_nofile number  //work进程最大打开的进程数 默认1024 改65535

    env var  //定义变量 

     work_connections 1024  //一个work能处理的最大请求 假如之前配置了work_processes 4那么服务总的能接受请求是4*1024。设置为20480 最好比65535低  最多可承受100万个请求数

       http {

        server 

        root /path  //server的工作目录(可以忽略)

        listen *:80 //监听的端口

        server_name server.servername.com //服务器名称*.servername.com支持通配符,"~(代表匹配的意思)"有多个server_name时,可以设置默认server。在listen 80 default_server;

        location {//区段,通过指定模式来与客户请求的URI相匹配

           location {=(精确匹配)|~*(区分大小分)|^~(不区分大小)|@}

        location / {

            [configuration B]

          }

        location = / {

            //优先级最高

        }

        location /documents/ {

        }

        location ^~ /images/{

        //第二优先级

        } 

        location ~* \.(gif|jpg|jpg){

        //第三优先级

        }

        stub_status on; //显示连接状态

        

        }        

        }


       

         root path //表明一个路径

        access_log logs/access.log www;

         keepalive_timeout 5; //长连接一个请求进来之后,5秒后一定会断开,默认为65

         gzip [on | off] //压缩

         gzip_comp_level 1;//1等级压缩gzip有9个等级压缩

    

}       



Nginx配置初步