美文网首页
03.Nginx配置文件和日志配置参数详解

03.Nginx配置文件和日志配置参数详解

作者: 祁恩达 | 来源:发表于2019-10-13 10:48 被阅读0次

    Nginx配置⽂件

    Nginx主配置⽂件 /etc/nginx/nginx.conf 是⼀个纯文本类型的⽂件,整个配置文件是以区块的形式组织的。⼀般,每个区块以⼀对⼤括号 {} 来表示开始与结束。

    1.Main位于nginx.conf配置⽂件的最⾼层
    2.Main层下可以有Event、HTTP层
    3.HTTP层下⾯有允许有多个Server层, ⽤于对不同的⽹站做不同的配置
    4.Server层也允许有多个Location, ⽤于对不同的路径进⾏不同模块的配置

    //nginx默认配置语法
    user                            //设置nginx服务的系统使⽤⽤户
    worker_processes                //⼯作进程, 配置和CPU个数保持⼀致
    error_log                       //错误⽇志, 后⾯接⼊的是路径
    pid                             //Nginx服务启动时的pid
    //events事件模块
    events  {                       //事件模块                                              
        worker_connections          //每个worker进程⽀持的最⼤连接数
        use                         //内核模型,select,poll,epoll
    }
    //非虚拟主机的配置或公共配置定义在http{}段内, server{}段外
    http    {
    ...             
    //必须使⽤虚拟机配置站点,  每个虚拟机使⽤⼀个server{}段
    'server'    {
        listen      80;             //监听端⼝, 默认80
        server_name localhost;      //提供服务的域名或主机名
                                    
    //控制⽹站访问路径
        'location'  /   {
            root            /usr/share/nginx/html;          //存放⽹站路径
            index       index.html  index.htm;              //默认访问⾸⻚⽂件
        }
                                    
    //指定错误代码,   统⼀定义错误⻚⾯,   错误代码重定向到新的Locaiton
            error_page          500 502 503 504     /50x.html;
            'location'  =   /50x.html   {
                root            html;
                }
            }
    ...
    //第⼆个虚拟主机配置
    'server'    {
    ...
            }
    }
    

    Nginx⽇志配置

    在学习⽇志之前, 先了解下HTTP请求和返回

    curl -v http://www.baidu.com
    
    * About to connect() to www.baidu.com port 80 (#0)
    *   Trying 61.135.169.125...
    * Connected to www.baidu.com (61.135.169.125) port 80 (#0)
    > GET / HTTP/1.1
    > User-Agent: curl/7.29.0        //请求方式
    > Host: www.baidu.com
    > Accept: */*
    > 
    < HTTP/1.1 200 OK    //返回状态码
    < Accept-Ranges: bytes
    < Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
    < Connection: Keep-Alive
    < Content-Length: 2381
    < Content-Type: text/html
    < Date: Sun, 13 Oct 2019 03:00:08 GMT
    < Etag: "588604c4-94d"
    < Last-Modified: Mon, 23 Jan 2017 13:27:32 GMT
    < Pragma: no-cache
    < Server: bfe/1.0.8.18
    < Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/
    < 
    百度网页具体内容
    
    image.png

    Nginx⽇志配置规范

    //配置语法: 包括: error.log   access.log
    Syntax: log_format  name    [escape=default|json]   string  ...;
    Default:    log_format  combined    "...";
    Context:    http
    
    //Nginx默认配置
    log_format      main        '$remote_addr   -   $remote_user    [$time_local]   "$request"  '
                                '$status    $body_bytes_sent    "$http_referer" '
                                '"$http_user_agent" "$http_x_forwarded_for"';
    //Nginx⽇志变量
    $remote_addr                //客户端地址
    $remote_user                //http客户端请求nginx认证⽤户名
    $time_local                 //Nginx的时间
    $request                    //Request请求⾏,GET等⽅法、http协议版本
    $status                     //respoence返回状态码
    $body_bytes_sent            //从服务端响应给客户端body信息⼤⼩
    $http_referer               //http上⼀级⻚⾯,防盗链、⽤户⾏为分析
    $http_user_agent            //http头部信息, 客户端访问设备
    $http_x_forwarded_for       //http请求携带的http信息
    

    相关文章

      网友评论

          本文标题:03.Nginx配置文件和日志配置参数详解

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