{"id":709,"date":"2022-07-29T18:38:44","date_gmt":"2022-07-29T10:38:44","guid":{"rendered":"https:\/\/www.qiangzhenshuai.com\/?p=709"},"modified":"2022-08-02T13:38:35","modified_gmt":"2022-08-02T05:38:35","slug":"nginx-%e6%97%a5%e5%bf%97","status":"publish","type":"post","link":"https:\/\/www.qiangzhenshuai.com\/?p=709","title":{"rendered":"NGINX-\u65e5\u5fd7"},"content":{"rendered":"<!--more-->\r\n<h1>1.nginx\u65e5\u5fd7\u8be6\u89e3<\/h1>\r\n<h4>\u8bbf\u95ee\u65e5\u5fd7<\/h4>\r\n<p>\/var\/log\/nginx\/access.log<\/p>\r\n<h4>\u9519\u8bef\u65e5\u5fd7<\/h4>\r\n<p>\/var\/log\/nginx\/error.log<\/p>\r\n<h4>\u8bbf\u95ee\u65e5\u5fd7\u7684\u683c\u5f0f<\/h4>\r\n<p>log_format \u8bbe\u7f6e nginx\u8bbf\u95ee\u65e5\u5fd7\u7684\u683c\u5f0f<\/p>\r\n<h4>\u8bbe\u7f6e(\u5f00\u542f)\u8bbf\u95ee\u65e5\u5fd7<\/h4>\r\n<p>access_log<\/p>\r\n<h1>2.log_format\u65e5\u5fd7\u683c\u5f0f<\/h1>\r\n<h2>\u914d\u7f6e\u6587\u4ef6<\/h2>\r\n<h4>\/etc\/nginx\/nginx.conf<\/h4>\r\n<p>log_format main &#8216;$remote_addr &#8211; $remote_user [$time_local] &#8220;$request&#8221; &#8216;<br \/>&#8216;$status $body_bytes_sent &#8220;$http_referer&#8221; &#8216;<br \/>&#8216;&#8221;$http_user_agent&#8221; &#8220;$http_x_forwarded_for&#8221;&#8216;;<\/p>\r\n<h4>\u5185\u5bb9\u8be6\u60c5<\/h4>\r\n<p>$remote_addr\uff1a\u5ba2\u6237\u7aefIP\u5730\u5740<br \/>$remote_user\uff1a\u8fdc\u7a0b\u7528\u6237<br \/>$time_local\uff1a\u65f6\u95f4 11\/May\/2021:10:26:41 +0800<br \/>$request\uff1a\u7528\u6237\u8bf7\u6c42\u62a5\u6587\u7684\u8d77\u59cb\u884c &#8220;GET\/index.html HTTP\/1.1&#8221;\u00a0 \uff08curl -v http:\/\/10.0.0.45:85\/index.html\uff09<br \/>$status\uff1a\u72b6\u6001\u7801<br \/>$body_bytes_sent\uff1ahttp\u54cd\u5e94\u62a5\u6587\u7684\u4e3b\u4f53\u5927\u5c0f(\u6587\u4ef6\u5927\u5c0f) \u5b57\u8282 (\u670d\u52a1\u5668\u7ed9\u4f60\u53d1\u9001\u4e861\u4e2a\u591a\u5927\u7684\u6587\u4ef6)\uff08curl -v http:\/\/10.0.0.45:85\/index.html\u00a0 &lt; Content-Length: 7\uff09<br \/>$http_referer\uff1a\u4ece\u54ea\u91cc\u8df3\u8f6c\u5230\u4f60\u7684\u7f51\u7ad9 (\u4ece\u54ea\u91cc\u8df3\u8f6c)\u5206\u6790\u7528\u6237\u7684\u6765\u6e90,\u7cbe\u786e\u6295\u653e\u5e7f\u544a(sem)<br \/>$http_user_agent\uff1a\u7528\u6237\u7684\u4ee3\u7406(\u6d4f\u89c8\u5668)<br \/>$http_x_forwarded_for\uff1a\u8bb0\u5f55\u7528\u6237\u771f\u5b9eip\u5730\u5740<\/p>\r\n<h2>access_log\u8bbf\u95ee\u65e5\u5fd7\u8bbe\u7f6e<\/h2>\r\n\r\n<figure class=\"wp-block-table\">\r\n<table>\r\n<tbody>\r\n<tr>\r\n<td>Syntax<\/td>\r\n<td>access_log\u00a0path\u00a0[format\u00a0[buffer=size] [gzip[=level]] [flush=time] [if=condition]];access_log\u00a0off;<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Default<\/td>\r\n<td>access_log logs\/access.log combined<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Context<\/td>\r\n<td>http,\u00a0server,\u00a0location,\u00a0if in location,\u00a0limit_except<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<\/figure>\r\n\r\n\r\n\r\n<p>path\u662f\u8def\u5f84<br \/>format \u65e5\u5fd7\u683c\u5f0f<br \/>gzip\u662f\u5426\u538b\u7f29 \u6ce8\u538b\u7f29\u540e\u65e5\u5fd7\u6700\u597d\u547d\u540d\u4e3aaccess.log.gz<br \/>fush \u5b9a\u65f6\u66f4\u65b0<\/p>\r\n\r\n\r\n\r\n<h2>\u5e94\u7528\u6848\u4f8b<\/h2>\r\n\r\n\r\n\r\n<h4>\u6307\u5b9a\u4f4d\u7f6e\u53ca\u683c\u5f0f<\/h4>\r\n<p>access_log \/var\/log\/nginx\/access.log main<\/p>\r\n<h2>\u538b\u7f29\uff0c\u65e5\u5fd7\u5148\u5199\u5165\u5230\u7f13\u5b58 \u6bcf\u96943s\u5199\u5165\u5230\u78c1\u76d8<\/h2>\r\n<h4>\u914d\u7f6e\u6587\u4ef6<\/h4>\r\n<p>[root@web01 ~]$ cat \/etc\/nginx\/conf.d\/dmxsp.qiang.com.conf <br \/>server {<br \/>listen 80;<br \/>server_name dmxsp.qiang.com;<br \/>access_log \/var\/log\/nginx\/dmxsp.qiang.log.gz main gzip buffer=100 flush=3;<br \/><br \/>location \/ {<br \/>root \/code\/dmxsp;<br \/>index index.html index.php;<br \/>}<br \/>}<\/p>\r\n<h4>\u68c0\u67e5\u8bed\u6cd5<\/h4>\r\n<p>[root@web01 ~]$ nginx -t<br \/>nginx: the configuration file \/etc\/nginx\/nginx.conf syntax is ok<br \/>nginx: configuration file \/etc\/nginx\/nginx.conf test is successful<\/p>\r\n<h4>\u91cd\u542fnginx<\/h4>\r\n<p>[root@web01 ~]$ systemctl reload nginx.service<\/p>\r\n<h4>\u6d4b\u8bd5<\/h4>\r\n<p>[root@web01 ~]$ ll \/var\/log\/nginx\/<br \/>-rw-r&#8211;r&#8211; 1 root root 122 Aug 1 13:36 dmxsp.qiang.log.gz<\/p>\r\n<p>[root@web01 ~]$ curl 10.0.0.45<\/p>\r\n<h4>\u5982\u4f55\u67e5\u770b\u538b\u7f29\u5305\u65e5\u5fd7<\/h4>\r\n<p>[root@web01 ~]$ zcat \/var\/log\/nginx\/dmxsp.qiang.log.gz <br \/>10.0.0.45 &#8211; &#8211; [01\/Aug\/2022:13:36:33 +0800] &#8220;GET \/ HTTP\/1.1&#8221; 200 6 &#8220;-&#8221; &#8220;curl\/7.29.0&#8221; &#8220;-&#8220;<\/p>\r\n<h4>\u5982\u4f55\u5b9e\u65f6\u67e5\u770b\u538b\u7f29\u5305\u65e5\u5fd7<\/h4>\r\n<p>[root@web01 ~]$ watch zcat \/var\/log\/nginx\/dmxsp.qiang.log.gz<\/p>\r\n<h2>\u8ba9\u65e5\u5fd7\u6587\u4ef6\u4e0d\u663e\u793a404<\/h2>\r\n<h4>\u67e5\u770b\u65e5\u5fd7<\/h4>\r\n<p>[root@web01 ~]$ tail -f \/var\/log\/nginx\/dmxsp.qiang.log<\/p>\r\n<p>10.0.0.1 &#8211; &#8211; [01\/Aug\/2022:14:56:59 +0800] &#8220;GET \/favicon.ico HTTP\/1.1&#8221; 404 555 &#8220;-&#8221; &#8220;Mozilla\/5.0 (Windows NT 10.0; WOW64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/70.0.3538.25 Safari\/537.36 Core\/1.70.3880.400 QQBrowser\/10.8.4554.400&#8221; &#8220;-&#8220;<\/p>\r\n<h4>\u914d\u7f6e\u6587\u4ef6<\/h4>\r\n<p>[root@web01 ~]$ cat \/etc\/nginx\/conf.d\/dmxsp.qiang.com.conf <br \/>server {<br \/>listen 80;<br \/>server_name dmxsp.qiang.com;<br \/>access_log \/var\/log\/nginx\/dmxsp.qiang.log main;<br \/><br \/>location \/ {<br \/>root \/code\/dmxsp;<br \/>index index.html index.php;<br \/>}<br \/>location \/favicon.ico { <br \/>access_log off;<br \/>}<br \/>}<\/p>\r\n<h4>\u68c0\u67e5\u8bed\u6cd5<\/h4>\r\n<p>[root@web01 ~]$ nginx -t<br \/>nginx: the configuration file \/etc\/nginx\/nginx.conf syntax is ok<br \/>nginx: configuration file \/etc\/nginx\/nginx.conf test is successful<\/p>\r\n<h4>\u91cd\u542fnginx<\/h4>\r\n<p>[root@web01 ~]$ systemctl reload nginx.service<\/p>\r\n<h4>\u6d4b\u8bd5<\/h4>\r\n<p>10.0.0.1 &#8211; &#8211; [01\/Aug\/2022:15:01:30 +0800] &#8220;GET \/ HTTP\/1.1&#8221; 200 6 &#8220;-&#8221; &#8220;Mozilla\/5.0 (Windows NT 10.0; WOW64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/70.0.3538.25 Safari\/537.36 Core\/1.70.3880.400 QQBrowser\/10.8.4554.400&#8221; &#8220;-&#8220;<\/p>\r\n<h2>\u9519\u8bef\u65e5\u5fd7\u683c\u5f0f<\/h2>\r\n\r\n\r\n\r\n<figure class=\"wp-block-table\">\r\n<table>\r\n<tbody>\r\n<tr>\r\n<td>Syntax<\/td>\r\n<td>error_log file [level]<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Default<\/td>\r\n<td>error_log logs\/error.log error<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Context<\/td>\r\n<td>main , http , mail , stream , server ,location<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<\/figure>\r\n\r\n\r\n\r\n<p>level #\u65e5\u5fd7\u683c\u5f0f<br \/>debug #\u6700\u8be6\u7ec6<br \/>notice #<br \/>error #\u7b49\u7b49<\/p>\r\n\r\n\r\n\r\n<h2>\u65e5\u5fd7\u5207\u5272<\/h2>\r\n\r\n\r\n\r\n<h3>\u5b9a\u671f\u628a\u5207\u5272\u6210\u4e00\u4e2a\u65b0\u7684\u6587\u4ef6(\u52a0\u4e0a\u65e5\u671f). \u907f\u514d\u65e5\u5fd7\u8fc7\u5927<\/h3>\r\n<h4>\u5982\u4f55\u4f7f\u7528<\/h4>\r\n<p>logrotate \u547d\u4ee4 + \/etc\/logroate.d\/\u914d\u7f6e\u6587\u4ef6<\/p>\r\n<p>logrotate -f \/etc\/logrotate.d\/nginx<\/p>\r\n<h4>\u914d\u7f6e\u6587\u4ef6<\/h4>\r\n<p>[root@web01 ~]$ cat \/etc\/logrotate.d\/nginx <br \/>\/var\/log\/nginx\/*.log {\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0##\u6307\u5b9a\u5207\u5272\u7684\u6587\u4ef6<br \/>daily\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ##\u6bcf\u5929<br \/>missingok\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0##\u5982\u679c\u5bf9\u5e94\u65e5\u5fd7\u4e0d\u5b58\u5728,\u8df3\u8fc7,\u4e0d\u663e\u793a\u9519\u8bef\u4fe1\u606f<br \/>rotate 52\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0##\u6700\u591a\u4fdd\u7559\u591a\u5c11\u4e2a\u5207\u5272\u540e\u7684\u65e5\u5fd7<br \/>compress\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ##\u65e5\u5fd7\u662f\u5426\u538b\u7f29 gzip\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0<br \/>delaycompress\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0##\u5ef6\u8fdf\u4e00\u4e2a\u5468\u671f,\u7136\u540e\u5728\u8fdb\u884c\u538b\u7f29<br \/>notifempty\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0##not if empty \u5982\u679c\u65e5\u5fd7\u662f\u7a7a\u7684\u8df3\u8fc7<br \/>create 640 nginx adm\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ##\u65e5\u5fd7\u6743\u9650,\u6240\u6709\u8005<br \/>sharedscripts\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ##<br \/>postrotate\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ##\u5728\u65e5\u5fd7\u8f6e\u8be2(\u5207\u5272)\u4e4b\u540e,\u6267\u884c\u91cc\u9762\u7684\u547d\u4ee4<br \/>if [ -f \/var\/run\/nginx.pid ]; then\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ##<br \/>kill -USR1 `cat \/var\/run\/nginx.pid`<br \/>fi<br \/>endscript<br \/>}<\/p>\r\n<h3>nginx \u5b9a\u671f\u5207\u5272\u539f\u7406<\/h3>\r\n<p>[root@web01 ~]$ ll \/etc\/cron.daily\/<br \/>total 8<br \/>-rwx&#8212;&#8212;. 1 root root 219 Apr 1 2020 logrotate<\/p>\r\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":""},"categories":[19],"tags":[],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/www.qiangzhenshuai.com\/index.php?rest_route=\/wp\/v2\/posts\/709"}],"collection":[{"href":"https:\/\/www.qiangzhenshuai.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.qiangzhenshuai.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.qiangzhenshuai.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.qiangzhenshuai.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=709"}],"version-history":[{"count":11,"href":"https:\/\/www.qiangzhenshuai.com\/index.php?rest_route=\/wp\/v2\/posts\/709\/revisions"}],"predecessor-version":[{"id":766,"href":"https:\/\/www.qiangzhenshuai.com\/index.php?rest_route=\/wp\/v2\/posts\/709\/revisions\/766"}],"wp:attachment":[{"href":"https:\/\/www.qiangzhenshuai.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=709"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.qiangzhenshuai.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=709"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.qiangzhenshuai.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=709"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}