热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Nginx记录请求分发日志设置

:本篇文章主要介绍了Nginx记录请求分发日志设置,对于PHP教程有兴趣的同学可以参考一下。
在nginx接收到请求之后, 需把请求分发到后端WEB服务集群.

在这里需要记录分发日志, 来分析后端每台WEB服务器处理的请求数目.

http {
log_format  main  
  ' $remote_user [$time_local]  $http_x_Forwarded_for $remote_addr  $request '
 '$http_x_forwarded_for '                     
 '$upstream_addr '                      
 'ups_resp_time: $upstream_response_time '                      
 'request_time: $request_time';

access_log  logs/access.log  main;

server{}
...
}
在日志显示的信息为:
 - [31/May/2013:00:01:03 -0700]  - xxx.ip.addr.xxx  GET /portal/index.html HTTP/1.1 - 192.168.100.15:8188 ups_resp_time: 0.010 request_time: 0.011
 - [31/May/2013:00:01:03 -0700]  - xxx.ip.addr.xxx  GET /portal/index.html HTTP/1.1 - 192.168.100.16:8188 ups_resp_time: 0.006 request_time: 0.006
 - [31/May/2013:00:01:03 -0700]  - xxx.ip.addr.xxx  GET /portal/index.html HTTP/1.1 - 192.168.100.15:8188 ups_resp_time: 0.013 request_time: 0.013
 - [31/May/2013:00:01:03 -0700]  - xxx.ip.addr.xxx  GET /portal/index.html HTTP/1.1 - 192.168.100.17:8188 ups_resp_time: 0.003 request_time: 0.003
 - [31/May/2013:00:01:03 -0700]  - xxx.ip.addr.xxx  GET /portal/index.html HTTP/1.1 - 192.168.100.18:8188 ups_resp_time: 0.004 request_time: 0.004
 - [31/May/2013:00:01:03 -0700]  - xxx.ip.addr.xxx  GET /portal/index.html HTTP/1.1 - 192.168.100.15:8188 ups_resp_time: 0.012 request_time: 0.013
 - [31/May/2013:00:01:03 -0700]  - xxx.ip.addr.xxx  GET /portal/index.html HTTP/1.1 - 192.168.100.18:8188 ups_resp_time: 0.005 request_time: 0.005
 - [31/May/2013:00:01:03 -0700]  - xxx.ip.addr.xxx  GET /portal/index.html HTTP/1.1 - 192.168.100.16:8188 ups_resp_time: 0.011 request_time: 0.011
 - [31/May/2013:00:01:03 -0700]  - xxx.ip.addr.xxx  GET /portal/index.html HTTP/1.1 - 192.168.100.15:8188 ups_resp_time: 0.447 request_time: 0.759

全部配置文件nginx.conf.
# greatwqs@163.com Install on 2012-08-11 linux
# user  devwqs;

# 2 intel(R) xeon(R) CPU
worker_processes  4;

worker_cpu_affinity 00000001 00000010 00000100 00001000;

# error_log  logs/error.log;
# error_log  logs/error.log  notice;
error_log   logs/error.log  error;

pid        logs/nginx.pid;

# allow openning file nums
worker_rlimit_nofile 25600;

events {
    # linux 2.6 upper version.
    use epoll;
    worker_connections  51200;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    # log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                   '$status $body_bytes_sent "$http_referer" '
    #                   '"$http_user_agent" "$http_x_forwarded_for"'
    #                   '"$upstream_addr"' '"$upstream_response_time"';
    log_format  main  ' $remote_user [$time_local]  $http_x_Forwarded_for $remote_addr  $request '
                      '$http_x_forwarded_for '
                      '$upstream_addr '
                      'ups_resp_time: $upstream_response_time '
                      'request_time: $request_time';

    access_log  logs/access.log  main;

    sendfile                     on;
    # tcp_nopush                 on;
                                 
    keepalive_requests           200;
    keepalive_timeout            20;
    gzip  on;                    
    client_body_buffer_size      128k;
    client_body_timeout          60s;
    client_max_body_size         10m;
    # proxy_buffer_size          8k;
    # proxy_busy_buffers_size    64k;
    proxy_temp_file_write_size   64k;

    # portal-cluster
    upstream portal-cluster {
        # http://192.168.100.15:8188/portal/
        server 192.168.100.15:8188 weight=5 max_fails=5 fail_timeout=30s;

        # http://192.168.100.16:8188/portal/
        server 192.168.100.16:8188 weight=5 max_fails=5 fail_timeout=30s;
        
        # http://192.168.100.17:8188/portal/
        server 192.168.100.17:8188 weight=5 max_fails=5 fail_timeout=30s;
        
        # http://192.168.100.18:8188/portal/
        server 192.168.100.18:8188 weight=5 max_fails=5 fail_timeout=30s;
    }

    # manage-cluster
    upstream manage-cluster {
        # http://192.168.100.25:8189/manage/
        server 192.168.100.25:8189 weight=4 max_fails=5 fail_timeout=30s;

        # http://192.168.100.26:8189/manage/
        server 192.168.100.26:8189 weight=6 max_fails=5 fail_timeout=30s;
    }

    # External Internet.
    server {
        listen       80;
        server_name  www.huaxixiang.com;
        access_log   logs/host.access.log  main;

        location /portal/ {
            # root   html;
            # index  index.html index.htm;
            # nginx http header send to tomcat app.
            # proxy_set_header Host  $host;
            # proxy_set_header X-Forwarded-For  $remote_addr;
            proxy_set_header Host $host;
            proxy_set_header X-Real-Ip $remote_addr;
            proxy_set_header X-Forwarded-For $remote_addr;

            proxy_pass http://portal-cluster;
        }

        # nginx status
        location /nginx_status {
            # copied from http://blog.kovyrin.net/2006/04/29/monitoring-nginx-with-rrdtool/
            stub_status  on;
            access_log   off;
            allow        192.168.100.100;
            #deny all;
        }

        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

    # External Internet.
    server {
        listen       80;
        server_name  manage.huaxixiang.com;

        access_log  logs/host.access.log  main;

        location /manage/ {
            proxy_pass http://manage-cluster;
        }

        location / {
            root   html;
            index  index.html index.htm;
        }

        error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

nginx status查看:

Nginx 记录请求分发日志设置

以上就介绍了Nginx 记录请求分发日志设置,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

推荐阅读
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
  • 随着Linux操作系统的广泛使用,确保用户账户及系统安全变得尤为重要。用户密码的复杂性直接关系到系统的整体安全性。本文将详细介绍如何在CentOS服务器上自定义密码规则,以增强系统的安全性。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • 本文详细探讨了在Web开发中常见的UTF-8编码问题及其解决方案,包括HTML页面、PHP脚本、MySQL数据库以及JavaScript和Flash应用中的乱码问题。 ... [详细]
  • 本文详细介绍如何安装和配置DedeCMS的移动端站点,包括新版本安装、老版本升级、模板适配以及必要的代码修改,以确保移动站点的正常运行。 ... [详细]
  • 本文详细介绍了如何在 Ubuntu 14.04 系统上搭建仅使用 CPU 的 Caffe 深度学习框架,包括环境准备、依赖安装及编译过程。 ... [详细]
  • JavaScript 跨域解决方案详解
    本文详细介绍了JavaScript在不同域之间进行数据传输或通信的技术,包括使用JSONP、修改document.domain、利用window.name以及HTML5的postMessage方法等跨域解决方案。 ... [详细]
  • Android 中的布局方式之线性布局
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 搭建个人博客:WordPress安装详解
    计划建立个人博客来分享生活与工作的见解和经验,选择WordPress是因为它专为博客设计,功能强大且易于使用。 ... [详细]
  • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
  • 在使用 Nginx 作为服务器时,发现 Chrome 能正确从缓存中读取 CSS 和 JS 文件,而 Firefox 却无法有效利用缓存,导致加载速度显著变慢。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 软件测试行业深度解析:迈向高薪的必经之路
    本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ... [详细]
  • JUnit下的测试和suite
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
author-avatar
童画小欧_904
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有