當前位置:首頁 » 密碼管理 » nginx關閉訪問日誌

nginx關閉訪問日誌

發布時間: 2023-04-03 06:20:34

㈠ nginx日誌的配置及切割

nginx的log_format可以自主選擇參數用於指示伺服器的活動狀態,默認的是:

假設將nginx伺服器作為web伺服器,位於負載均衡設備巧喚,nginx反向代理之後,不能獲取到客戶端的真實ip地址了。

原因是進過反向代理後,由於在客戶端和web伺服器之間增加了中間層,因此web伺服器無法直接拿到客戶端的ip。通過$remote_addr變數拿到的將是反向代理伺服器的ip地址,但是,反向代理伺服器在轉發請求的http頭信息中,可以增加X-Forwarded-For信息,用以記錄原有的客戶端ip地址和原來客戶端請求的伺服器地址

語法:access_log path [format [buffer=size [flush=time]]];

配置段:

gzip壓縮等擾殲級

buffer設置內存緩存區大小

flush保存在緩存去中的最長時間

不記錄日誌:access_log off;

使用默認combined格式記錄日孝李凱志:access_log logs/access.log 或access_log logs/access.log combined;

注意:nginx進程設置的用戶和組必須對日誌路徑有創建文件的許可權,否則報錯。

此外,對於每一條日誌記錄,都將是先打來文件,再寫入日誌,然後關閉,可以使用open_log_file_cache來設置日誌文件緩存(默認是off)。

系統自動切割,利用linux操作系統的定時任務,執行sh腳本,來完成日誌的自動切割。

㈡ 如何關閉nginx,apache的默認訪問日誌

如果搜返是rpm安裝山漏拿的一般會在/var/log/httpd/逗搭下面 #head -1000 /var/log/httpd/access_log 如果是源碼包安裝的會在/usr/local/apache2/log/下面 #head -1000 /usr/local/apache2/log/access_log

㈢ 14《Nginx 入門教程》Nginx的日誌功能

通常,在生產環境中使用 Nginx 進行反枝搭型向代理和負載均衡或者各種其他處理時,良好的日誌記錄是非常關鍵的一環。通過精心配置的 Nginx 日誌,我們可以獲取用戶的真實 ip、瀏覽器信息,請求處理時間,請求URL等,這樣方便我們排查和回溯錯誤。具體要記錄哪些信息,可以通過 Nginx 中的 log_format 指令定義,由它定義日誌的格式。而對於使用哪種日誌格式和設置日誌的保存路徑則由 access_log 指令指定的。另外在 Nginx 中還有一個配置伺服器和請求處理過程中的錯誤信息的指令,那就是 error_log指令。最後,如果在配置的日誌文件路徑中使用了變數,我們可以通過open_log_file_cache指令來設置緩存,提升性能。對於大型的網站而言,大量的 http 請求意味著大量的日誌記錄,及時按天或按大小進行 Nginx 日誌備份也至關重要的。

在 Nginx 的日誌模塊主要有2個, ngx_stream_log_mole 和 ngx_http_log_mole,分別表示四層的日誌模塊和七層的日誌模塊,其指令和用法都是一致的,接下來我們只針對 http 請求的日誌進行說明和使用。

在 ngx_http_log_mole 模塊中,只3個指令,分別是 access_log、log_format 和 open_log_file_cache。這些指令具體的格式如下:

ngx_http_log_mole 模塊用來按某個格式來記錄請求的日誌。模塊中的 log_format 指令就是用來設置列印日誌的格式,該指令中可以使用 Nginx 中的各種變數,比如保存遠端ip地址的變數$remote_addr等。一個簡單的示例如下:

接下來是 access_log 指令。參考前面的指令格式。關閉日誌記錄,直接是寫 access_log off ,如果打開 access 日誌,它的寫法是:

access_log 指令示例:

每一條日誌記錄的寫入都是先打開文件再寫入記錄,然後關閉日誌文件。如果你的日誌文件路徑猛猜中使用了變數,如 access_log /var/logs/$host/access.log ,為提高性能,可以使用 open_log_file_cache 指令設置日誌文件描述符的緩存。可以通過 open_log_file_cache off 關閉該緩存。該指令的幾個參數選項說明如下:

最後 error_log 是 錯誤日誌配置指令,主要記錄客戶端訪問 Nginx 出錯時的日誌,它不不支持自定義日誌格式。通過檢查錯誤日誌,可以快速定位線上問題,所以也是很重要的。關閉錯誤日誌的方式和 access_log不一樣,沒有 error_log off 這樣關錯誤日誌的用法,反而會將錯誤日誌打到名為 off 的文件中。常用的關閉方式是:

就像在 Linux 系統中,輸出到 /dev/null 的內容實際上等枝物價於丟棄一樣。

Nginx 的日誌切割實現的核心是使用 nginx 命令的 reopen 參數實現,該參數的含義是重新開始記錄日誌文件。人工切的做法就是凌晨將日誌備份,然後執行帶reopen參數的命令:

執行後會重新生成 access.log 和 error.log,這就是手工切割的方式。通常我們會用 shell 腳本和定時任務來幫我我們完成自動切割。首先准備如下的 shell 腳本,它完成日誌的備份以及給 nginx 進程發生 reopen 信號。

接下來,只要將這個腳本加入到 crontab 中即可,如下操作:

我們在 nginx.conf 中添加如下的日誌配置:

這里我們綜合了前面涉及的知識,這里只簡單測試日誌配置中 if 功能。我們設置請求的相應碼為 3xx 和 4xx 時,日誌不會記錄。接下來,啟動或者熱載入 Nginx, 然後分別對應三個埠發送 http 請求並觀察 access.log 日誌:

本小節我們介紹了 log 相關的指令,包括訪問日誌和錯誤日誌的指令。此外還介紹了 Nginx 中對日誌切割的常用處理方法,這也是生產環境上使用日誌備份的手段。

㈣ nginx/logs/access.log 可以刪除嗎

該文件為nginx的訪問日誌文件可以刪除,刪除後nginx啟動還會產生
如果要關閉日誌功能,在nginx配置文耐哪件則李中找到access_log一行昌盯碼,改為access_log off;

㈤ Nginx日誌

nginx的log日誌分為access log 和 error log

access log :記錄了哪些用戶,哪些頁面以及用戶瀏覽器握歷鉛、ip和其他的訪問信息
error log :是記錄伺服器錯誤日誌

access.log日誌的形式如下:

其實nginx access日爛歷志的格式不是一成不變的,是可以自定義的。
在nginx的nginx.conf配置文件找到:log_format 這里就是日誌的格式
看一下和上述日誌匹配的log格式設置段好:

配置access log日誌的存儲位置及文件,注意:access.log文件是可以按日期進行分割的,方便查看及處理

㈥ nginx 日誌怎麼開啟

nginx訪問日誌默認燃指為開啟狀態,日誌位於皮叢配nginx安裝目錄下的logs/access.log

日誌配置指令如下:
access_log path [format [buffer=size] [gzip[=level]] [flush=time] [if=condition]];
access_log off;
第一行是啟用日誌
第二行是關閉日誌
啟用日誌的必選鄭搭參數為path表示日誌路徑

㈦ nginx怎麼關閉favicon.ico,robots.txt日誌記錄

有朋友問我,如何銷橘關閉nginx中favicon.ico、robots.txt日誌記錄,不允許訪問某些隱藏文件。
其實,有個favicon.ico挺好的,當網頁放到任務欄上可以區分出自己胡鉛的網站,對用戶體驗也不錯。
另外就是robots.txt文件用好了,對屏蔽惡意收錄是很有幫助的。
nginx日誌最近發生大量訪問favicon.ico無法找到的404錯誤日誌,影響伺服器性能,對於一個高並發的伺服器每一個錯誤都會影響褲斗好性能,所以需要關閉訪問favicon.ico的日誌記錄功能。
操作方法:

# 把以下配置放到 server {} 塊.#關閉favicon.ico不存在時記錄日誌location = /favicon.ico {log_not_found off;access_log off;} www.jbxue.comlocation = /robots.txt {allow all;log_not_found off;access_log off;}#
不允許訪問隱藏文件例如 .htaccess, .htpasswd, .DS_Store (Mac).location ~ /\. {deny all;access_log off;log_not_found off;}

㈧ Nginx相關知識點

Nginx是lgor Sysoev為俄羅斯訪問量第二的rambler.ru站點設計開發的。從2004年發布至今,憑借開源的力量,已經接近成熟與完善。

Nginx功能豐富,可作為HTTP伺服器,也可作為反向代理伺服器,郵件伺服器。支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等功能。並且支持很多第三方的模塊擴展。

Nginx的穩定性、功能集、示例配置文件和低系統資源的消耗讓他後來居上,在全球活躍的網站中有12.18%的使用比率,大約為2220萬個網站。

自行安裝

正向代理: 代理伺服器站在客戶端那邊就是正向代理;
反向代理: 代理伺服器站在原始伺服器那邊就是反向代理;
詳解參考點擊 Nginx正向代理與反向代理

Nginx在做反向代理時,提供性能穩定,並且能夠提供配置靈活的轉發功能。
Nginx可以根據不同的正則匹配,採取不同的轉發策略,比如圖片文件結尾的走文件伺服器,動態頁面走web伺服器,只要你正則寫的沒問題,又有相對應的伺服器解決方案,你就可以隨心所欲的玩。
並且Nginx對返回結果進行錯誤頁跳轉,異常判斷等。如果被分發的伺服器存在異常,他可以將請求重新轉發給另外一台伺服器,然後自動去除異常伺服器。

如果你的nginx伺服器給2台web伺服器做代理,負載均衡演算法採用輪詢,那麼當你的一台機器web程序iis關閉,也就是說web不能訪問,那麼nginx伺服器分發請求還是會給這台不能訪問的web伺服器,如果這里的響應連接時間過長,就會導致客戶端的頁面一直在等待響應,對用戶來說體驗就打打折扣,這里我們怎麼避免這樣的情況發生呢。這里我配張圖來說明下問題。

如果負載均衡中其中web2發生這樣的情況,nginx首先會去web1請求,但是nginx在配置不當的情況下會繼續分發請求道web2,然後等待web2響應,直到我們的響應時間超時,才會把請求重新分發給web1,這里的響應時間如果過長,用戶等待的時間就會越長。

下面的配置是解決方案之一:

如果使用upstream指令配置了一組伺服器作為被代理伺服器,伺服器中的訪問演算法遵循配置的負載均衡規則,同時可以使用該指令配置在發生哪些異常情況時,將請求順次交由下一組伺服器處理。

狀態值可以是:error|timeout|invalid_header|http_500|http_502|http_503|http_504|http_404|off

Nginx提供的負載均衡策略有2種:內置策略和擴展策略。
內置策略: 1.輪詢;2.加權輪詢;3.Ip hash;
擴展策略: 就天馬行空,只有你想不到的沒有他做不到的啦,你可以參照所有的負載均衡演算法,給他一一找出來做下實現。

Ip hash演算法,對客戶端請求的ip進行hash操作,然後根據hash結果將同一個客戶端ip的請求分發給同一台伺服器進行處理,可以解決session不共享的問題。

eg:

開啟簡單的緩存配置,只需要兩個指令:proxy_cache_path和proxy_cache。
proxy_cache_path: 配置緩存的存放地址和其他的一些常用配置;
proxy_cache:指令是為了啟動緩存;

相關配置說明:

該指令用於定義滿足條件的響應不會被保存到緩存中。在條件字元串中至少有一個條件不為空或者0,符合這樣條件的響應才不會被緩存。
舉例如下

其中,cookie_nocache、arg_nocache...皆為變數,可以根據你訪問的匹配策略來設置,其值只有2類,0和非0;

訪問匹配策略例如:

如果在此鏈式配置中,只要有一個值不為0,則不會cache;例如:

則不會被cache.

註:一般會配合proxy_cache_bypass共同使用;

該指令用於定義哪些情況不從cache讀取,直接從backend獲取資源;配置方式同proxy_no_cache。

給緩存數據定義一個鍵,例如

該指令用於設置緩存哪些HTTP方法,默認緩存HTTP GET/HEAD方法,不緩存HTTP POST 方法.。

設置不同響應碼的緩存時間,當不指定響應碼的時候,例如

只對響應碼為200,301,302的訪問請求資源設置緩存時間,此外可以個性化定製,例如:

此外,還可以在相應header里設置優先順序更高的緩存有效時間:

不緩存包含在field的響應header,可以設置的值有:「X-Accel-Redirect」, 「X-Accel-Expires」, 「X-Accel-Limit-Rate」,「X-Accel-Buffering」, 「X-Accel-Charset」, 「Expires」, 「Cache-Control」, 「Set-Cookie」 (0.8.44), and 「Vary」。
如果上述的header field沒有設置為忽略,則header filed中有「X-Accel-Expires」, 「Expires」, 「Cache-Control」, 「Set-Cookie」, and 「Vary」的話,響應會被緩存。

該指令用於設置緩存的最小使用次數,默認值為1

源站有問題時,nginx可以通過proxy_cache_use_stale指令開啟容錯能力,即使用緩存內容來響應客戶端的請求。舉例如下:

如上配置表示,當作為cache的NGINX收到源站返回error、timeout或者其他指定的5XX錯誤,並且在其緩存中有請求文件的陳舊版本,則會將這些陳舊版本的文件而不是錯誤信息發送給客戶端。

使用NGINX,不需要建立一個RAID(磁碟陣列)。如果有多個硬碟,NGINX可以用來在多個硬碟之間分割緩存。舉例如下:

在這份配置中,使用了3個獨立的緩存,每個緩存專用一塊硬碟,另外,3個獨立的線程池也各自專用一塊硬碟。

緩存之間(其結果就是磁碟之間)的負載均衡使用split_clients模塊,split_clients非常適用於這個任務。
在 proxy_cache_path指令中設置 use_temp_path=off ,表示NGINX會將臨時文件保存在緩存數據的同一目錄中。這是為了避免在更新緩存時,磁碟之間互相復制響應數據。

通過訪問日誌,你可以得到用戶地域來源、跳轉來源、使用終端、某個URL訪問量等相關信息;
通過錯誤日誌,你可以得到系統某個服務或server的性能瓶頸等。
因此,將日誌好好利用,你可以得到很多有價值的信息。

打開nginx.conf配置文件:vim /usr/local/nginx/conf/nginx.conf
日誌部分內容:
#access_log logs/access.log main;
日誌生成的到Nginx根目錄logs/access.log文件,默認使用「main」日誌格式,也可以自定義格式。
默認「main」日誌格式:

參數明細表:

查看日誌命令tail -f /usr/local/nginx/logs/access.log

打開nginx.conf配置文件去掉#注釋見下圖:

自定義某一個server配置的日誌,使用「main」日誌格式。

日誌生成的到Nginx根目錄logs/access.log文件,默認使用「main」日誌格式,也可以自定義格式。

重新讀取載入Nginx配置文件:

執行命令:nginx-s reload

網上一位老師寫的log文件分解的腳本

此腳本執行時間根據自己公司情況來定,可以設置默認一天執行一次;

創建crontab設置作業

設置日誌文件存放目錄crontab -e

*/1 * * * * sh /usr/local/software/nginx/nginx_log.sh
此設置的為一分鍾,如果設置一天自行修改;

默認的 nginx 配置文件 nginx.conf 內容如下

示例

幾個常見配置項:

注意:

驚群現象:一個網路連接到來,多個睡眠的進程被同事叫醒,但只有一個進程能獲得鏈接,這樣會影響系統性能
每個指令必須有分號結束。

進入安裝目錄下的sbin

㈨ 怎麼關閉nginx的日誌

nginx.conf中要在http一節裡面喚做添加

access_logoff;
error_logoff;

這樣Nginx才會停止輸出日誌。

為了避免派旁後塵鏈橡來人在被誤導,所以在此特別說明下。

熱點內容
貨幣交易源碼 發布:2025-02-14 07:25:04 瀏覽:66
應用ip地址寫死更換了伺服器 發布:2025-02-14 07:24:59 瀏覽:24
android獲取解析度 發布:2025-02-14 07:12:13 瀏覽:750
途觀l值得買哪個配置 發布:2025-02-14 07:06:33 瀏覽:60
格來雲伺服器到期 發布:2025-02-14 06:48:43 瀏覽:905
訂奧迪A7哪個配置比較好 發布:2025-02-14 06:44:23 瀏覽:140
spss的資料庫 發布:2025-02-14 06:37:32 瀏覽:120
sql除法運算 發布:2025-02-14 06:30:43 瀏覽:535
如何在家部署一台伺服器 發布:2025-02-14 06:22:04 瀏覽:434
u盤里文件夾是空的 發布:2025-02-14 06:13:22 瀏覽:804