尊龙凯时人生就是搏

ÉîÈëÃ÷È·NginxÈÕÖ¾ÆÊÎö¹¤¾ßºÍ¹ýʧ´¦Àí¼¼ÇÉ

ÉîÈëÃ÷È·NginxÈÕÖ¾ÆÊÎö¹¤¾ßºÍ¹ýʧ´¦Àí¼¼ÇÉ

Nginx ÊÇÒ»¿î¸ßÐÔÄܵÄWebЧÀÍÆ÷ºÍ·´ÏòÊðÀíЧÀÍÆ÷£¬ÆÕ±éÓ¦ÓÃÓÚ»¥ÁªÍøÁìÓò ¡£ÔÚÔËάºÍ¿ª·¢Àú³ÌÖУ¬ÎÒÃǾ­³£ÐèÒª¶ÔNginxµÄÈÕÖ¾¾ÙÐÐÆÊÎöÒÔÏàʶЧÀÍÆ÷µÄÔËÐÐ״̬ºÍÐÔÄÜÌåÏÖ ¡£±¾ÎĽ«ÉîÈë̽ÌÖNginxÈÕÖ¾ÆÊÎö¹¤¾ß¼°³£ÓõĹýʧ´¦Àí¼¼ÇÉ£¬²¢ÌṩÏà¹ØµÄ´úÂëʾÀý ¡£

Ò»¡¢NginxÈÕÖ¾ÆÊÎö¹¤¾ß

1.1. NginxµÄaccessÈÕÖ¾

NginxµÄaccessÈÕÖ¾¼Í¼ÁËÿ¸öÇëÇóµÄÏêϸÐÅÏ¢£¬°üÀ¨»á¼ûµÄʱ¼ä¡¢¿Í»§¶ËIPµØµã¡¢ÇëÇóµÄURL·¾¶¡¢HTTP״̬ÂëµÈ ¡£ÎÒÃÇ¿ÉÒÔ̫ͨ¹ýÎöaccessÈÕÖ¾£¬ÏàʶÓû§µÄ»á¼ûÐÐΪºÍ»á¼ûµÄÐÔÄÜ״̬ ¡£³£ÓõÄNginxÈÕÖ¾ÆÊÎö¹¤¾ßÓÐGoAccess¡¢AwstatsºÍELKµÈ ¡£

1.2. GoAccess

GoAccessÊÇÒ»¿î»ùÓÚÏÂÁîÐеÄʵʱWebÈÕÖ¾ÆÊÎö¹¤¾ß£¬¿ÉÒÔÒÔ¿ÉÊÓ»¯µÄ·½·¨Õ¹Ê¾NginxµÄÈÕÖ¾ÐÅÏ¢ ¡£Ëü¿ÉÒÔÌìÉúHTMLºÍJSONÃûÌõı¨¸æ£¬Ö§³Ö¶àÖÖͳ¼Æ·½·¨ºÍ¹ýÂËÌõ¼þ ¡£ÏÂÃæÊÇÒ»¸öʹÓÃGoAccessÆÊÎöNginx»á¼ûÈÕÖ¾µÄʾÀý£º

$ goaccess -f /path/to/nginx/access.log -a

µÇ¼ºó¸´ÖÆ

¸ÃÏÂÁî»áÆÊÎö²¢ÊµÊ±ÏÔʾNginxµÄ»á¼ûÈÕÖ¾ ¡£Í¨¹ýÔÚä¯ÀÀÆ÷Öлá¼ûhttp://localhost:7890£¬¿ÉÒÔÉó²éʵʱµÄ»á¼û±¨¸æ ¡£

1.3. Awstats

AwstatsÊÇÒ»¿î¹¦Ð§Ç¿Ê¢µÄÈÕÖ¾ÆÊÎö¹¤¾ß£¬¿ÉÒÔÌìÉúÏêϸµÄ»á¼û±¨¸æºÍͼ±í ¡£ËüÖ§³Ö¶àÖÖÈÕÖ¾ÃûÌ㬰üÀ¨NginxµÄaccessÈÕÖ¾ÃûÌà ¡£ÏÂÃæÊÇÒ»¸öʹÓÃAwstatsÆÊÎöNginx»á¼ûÈÕÖ¾µÄʾÀý£º

$ awstats.pl -config=nginx -LogFile=/path/to/nginx/access.log

µÇ¼ºó¸´ÖÆ

¸ÃÏÂÁî»áÌìÉúÒ»·ÝÏêϸµÄHTML±¨¸æ£¬Õ¹Ê¾NginxµÄ»á¼ûͳ¼ÆÐÅÏ¢ ¡£

1.4. ELK

ELKÊÇÖ¸Elasticsearch¡¢LogstashºÍKibanaÈý¿î¿ªÔ´¹¤¾ßµÄ×éºÏ£¬ÓÃÓÚʵʱÆÊÎöºÍ¿ÉÊÓ»¯ÈÕÖ¾Êý¾Ý ¡£ElasticsearchÊÇÒ»¿îÂþÑÜʽËÑË÷ºÍÆÊÎöÒýÇ棬LogstashÊÇÒ»¿îÓÃÓÚÍøÂç¡¢´¦ÀíºÍ´«ÊäÈÕÖ¾Êý¾ÝµÄ¹¤¾ß£¬KibanaÊÇÒ»¿îÓÃÓÚչʾºÍ¿ÉÊÓ»¯ÈÕÖ¾Êý¾ÝµÄ¹¤¾ß ¡£

ͨ¹ý½«NginxÈÕÖ¾µ¼Èëµ½ELKÖУ¬ÎÒÃÇ¿ÉÒÔ½èÖúKibanaÌìÉú¸»ºñµÄÒDZíÅ̺Íͼ±í£¬¿ìËÙ·¢Ã÷Ï¢Õù¾öÎÊÌâ ¡£ÏÂÃæÊÇÒ»¸öʹÓÃELKÆÊÎöNginx»á¼ûÈÕÖ¾µÄʾÀý£º

Ê×ÏÈ£¬Í¨¹ýLogstash½«NginxÈÕÖ¾µ¼Èëµ½ElasticsearchÖУ¬ÉèÖÃÎļþÈçÏ£º

input {
  file {
    path => "/path/to/nginx/access.log"
    sincedb_path => "/dev/null"
  }
}

filter {
  grok {
    match => { "message" => "%{COMBINEDAPACHELOG}" }
  }
}

output {
  elasticsearch {
    hosts => ["localhost:9200"]
    index => "nginx-access-%{+YYYY.MM.dd}"
  }
}

µÇ¼ºó¸´ÖÆ

È»ºó£¬Í¨¹ýKibana½¨Éè¿ÉÊÓ»¯ÒDZíÅÌ£¬Æ¾Ö¤ÐèҪѡÔñ²î±ðµÄͼ±íÀàÐͺÍÖ¸±ê ¡£

¶þ¡¢Nginx¹ýʧ´¦Àí¼¼ÇÉ

2.1. ¹ýʧÈÕÖ¾

NginxµÄ¹ýʧÈÕÖ¾¼Í¼ÁËЧÀÍÆ÷µÄÔËÐÐ״̬ºÍ¹ýʧÐÅÏ¢£¬¹ØÓÚ¹ÊÕÏÅŲéºÍÐÔÄÜÓÅ»¯¶¼ºÜÊÇÓÐ×ÊÖú ¡£¹ýʧÈÕÖ¾µÄλÖúÍÃûÌÿÉÒÔÔÚNginxµÄÉèÖÃÎļþÖÐÖ¸¶¨ ¡£ÏÂÃæÊÇÒ»¸ö³£¼ûµÄ¹ýʧÈÕÖ¾ÉèÖÃʾÀý£º

error_log /var/log/nginx/error.log;

µÇ¼ºó¸´ÖÆ

2.2. ×Ô½ç˵¹ýʧҳÃæ

Nginx¿ÉÒÔ×Ô½ç˵¹ýʧҳÃ棬ʹÓû§ÔÚÓöµ½¹ýʧʱÄܹ»¿´µ½ÓѺõÄÌáÐÑÐÅÏ¢ ¡£Ò»Ñùƽ³£ÇéÐÎÏ£¬ÎÒÃÇ¿ÉÒÔ½ç˵404¡¢500µÈ³£¼û¹ýʧҳÃæ ¡£ÏÂÃæÊÇÒ»¸ö×Ô½ç˵404¹ýʧҳÃæµÄÉèÖÃʾÀý£º

error_page 404 /404.html;

location = /404.html {
  root /path/to/error/pages;
  internal;
}

µÇ¼ºó¸´ÖÆ

ÆäÖУ¬error_pageÖ¸ÁîÖ¸¶¨ÁË·ºÆð404¹ýʧʱ·µ»ØµÄÒ³Ã棬locationÖ¸ÁîÖ¸¶¨Á˹ýʧҳÃæµÄλÖà ¡£

2.3. HTTP״̬Âë

Nginxͨ¹ýHTTP״̬ÂëÀ´ÌåÏÖÇëÇóµÄ´¦ÀíЧ¹û£¬³£¼ûµÄ״̬ÂëÓÐ200¡¢301¡¢404¡¢500µÈ ¡£¹ØÓÚ²î±ðµÄ״̬Â룬¿ÉÒÔͨ¹ýNginxµÄÉèÖÃÎļþ¾ÙÐÐÏìÓ¦µÄ´¦Àí ¡£ÏÂÃæÊÇÒ»¸öÖض¨Ïò301״̬ÂëµÄÉèÖÃʾÀý£º

location /old-path {
  return 301 /new-path;
}

µÇ¼ºó¸´ÖÆ

¸ÃÉèÖûὫËùÓжÔ/old-pathµÄÇëÇóÖض¨Ïòµ½/new-path ¡£

2.4. ·´ÏòÊðÀí³¬Ê±´¦Àí

ÔÚ·´ÏòÊðÀíģʽÏ£¬Nginx×÷Ϊǰ¶ËÊðÀíЧÀÍÆ÷£¬ÊðÀíÓû§ÇëÇó²¢½«Æäת·¢¸øºó¶ËµÄÕæʵЧÀÍÆ÷ ¡£µ±ºó¶ËЧÀÍÆ÷´¦ÀíÇëÇóµÄʱ¼ä¹ý³¤Ê±£¬Nginx»á·ºÆð³¬Ê±¹ýʧ ¡£ÎªÏàʶ¾öÕâ¸öÎÊÌ⣬ÎÒÃÇ¿ÉÒÔͨ¹ýÐÞ¸ÄNginxµÄÉèÖÃÎļþÀ´µ÷½â³¬Ê±Ê±¼ä ¡£ÏÂÃæÊÇÒ»¸ö·´ÏòÊðÀí³¬Ê±´¦ÀíµÄÉèÖÃʾÀý£º

location / {
  proxy_pass http://backend;
  proxy_connect_timeout 5s;
  proxy_send_timeout 10s;
  proxy_read_timeout 20s;
}

µÇ¼ºó¸´ÖÆ

¸ÃÉèÖûὫÇëÇóת·¢¸øºó¶ËЧÀÍÆ÷£¬²¢ÉèÖÃÅþÁ¬¡¢·¢ËͺͶÁÈ¡³¬Ê±Ê±¼ä ¡£

×ܽá

±¾ÎÄÏÈÈÝÁËNginxÈÕÖ¾ÆÊÎö¹¤¾ßºÍ¹ýʧ´¦Àí¼¼ÇÉ£¬Í¬Ê±ÌṩÁËÏà¹ØµÄ´úÂëʾÀý ¡£Í¨¹ýÉîÈëÃ÷È·NginxµÄÈÕÖ¾ÆÊÎö¹¤¾ßºÍ¹ýʧ´¦Àí¼¼ÇÉ£¬ÎÒÃÇ¿ÉÒÔ¸üºÃµØ¼à¿ØºÍά»¤NginxЧÀÍÆ÷µÄÔËÐÐ״̬£¬Ìá¸ßϵͳµÄ¿É¿¿ÐÔºÍÐÔÄÜÌåÏÖ ¡£Í¬Ê±£¬±¾ÎÄҲϣÍû¶Ô¶ÁÕßÔÚÔËάºÍ¿ª·¢Àú³ÌÖеÄÊÂÇéÓÐËù×ÊÖú ¡£

ÒÔÉϾÍÊÇÉîÈëÃ÷È·NginxÈÕÖ¾ÆÊÎö¹¤¾ßºÍ¹ýʧ´¦Àí¼¼ÇɵÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡

ÃâÔð˵Ã÷£ºÒÔÉÏչʾÄÚÈÝȪԴÓÚÏàÖúýÌå¡¢ÆóÒµ»ú¹¹¡¢ÍøÓÑÌṩ»òÍøÂçÍøÂçÕûÀí£¬°æȨÕùÒéÓë±¾Õ¾Î޹أ¬ÎÄÕÂÉæ¼°¿´·¨Óë¿´·¨²»´ú±í尊龙凯时人生就是搏ÂËÓÍ»úÍø¹Ù·½Ì¬¶È£¬Çë¶ÁÕß½ö×ö²Î¿¼ ¡£±¾ÎĽӴýתÔØ£¬×ªÔØÇë˵Ã÷À´ÓÉ ¡£ÈôÄúÒÔΪ±¾ÎÄÇÖÕ¼ÁËÄúµÄ°æȨÐÅÏ¢£¬»òÄú·¢Ã÷¸ÃÄÚÈÝÓÐÈκÎÉæ¼°ÓÐÎ¥¹«µÂ¡¢Ã°·¸Ö´·¨µÈÎ¥·¨ÐÅÏ¢£¬ÇëÄúÁ¬Ã¦ÁªÏµ尊龙凯时人生就是搏ʵʱÐÞÕý»òɾ³ý ¡£

Ïà¹ØÐÂÎÅ

ÁªÏµ尊龙凯时人生就是搏

18523999891

¿É΢ÐÅÔÚÏß×Éѯ

ÊÂÇéʱ¼ä£ºÖÜÒ»ÖÁÖÜÎ壬9:30-18:30£¬½ÚãåÈÕÐÝÏ¢

QR code
sitemap¡¢ÍøÕ¾µØͼ