Nginx 配置優化 日誌分割

2021-10-04 05:23:06 字數 2860 閱讀 4141

生產環境中的伺服器,由於訪問日誌增長素的非常快,日誌太大會嚴重影響伺服器的效率,同時,為了方便對日誌進行分析計算,必須對日誌檔案進行定時切割,定時切割的方式有 按月切割、按天切割、按小時切割等等。當然了最常用的還是 按天切割。

[root@localhost logs]# pwd

/usr/local/nginx/logs

[root@localhost logs]# mv access.log 20200224.log

[root@localhost logs]# kill -usr1 `cat /usr/local/nginx/logs/nginx.pid`

[root@localhost logs]# ls

20200224.log access.log error.log nginx.pid

首先通過 mv 命令將日誌檔案重新命名 為 20200224.log ,然後傳送 kill -usr1 訊號給 nginx 主程序號

表示有兩個cpu,四個程序

worker_processes     2;

worker_cpu_affinity 01 10 01 10;

​ nginx的連線處理機制在於不同的作業系統會採用不同的i/o模型,linux下,nginx使用epoll的i/o多路復用模型

​  要根據系統型別不同選擇不同的事務處理模型,選擇有「use [ kqueue | rtsig |epoll |dev/pool |select |pllo ];」我們使用的是centos7.3的linux,因此將nginx的事件處理模型調整為epoll模型。

在 linux 中,fastcgi 介面為 socket,這個socket可以是檔案、也可以是ip socket

# 保持連線的超時時間

client_header_timeout 30; # 設定讀取客戶機請求頭部資料的超時時間

## 如果在讀取客戶端頭部資料請求資訊過多時,沒有在規定時間內讀取完成,返回給客戶端408 服務端超時;;以下選項一樣

client_body_timeout 30; # 設定讀取客戶機請求主體的超時時間

send_timeout 30; # 用於指定響應客戶端的超時時間

client_max_body_size 1m; # 設定客戶端請求主體的最大體積

gzip  on;					# 開啟壓縮功能

gzip_min_length 1k # 允許壓縮的最小位元組數

gzip_comp_level [1-9] # 設定壓縮比,壓縮比越大處理檔案的速度越慢,反之越快;;一般設定為6

gzip_varry on; # 可以讓前端的快取伺服器經過gzip壓縮頁面

# 選擇將要壓縮的檔案型別;; test/html頁面總是被壓縮(預設)

正規表示式:

^ 匹配輸入字串的開始位置

$ 匹配輸入字串的結束位置

? 匹配?前面 的字元零次或一次

permanent 返回301永久跳轉

redirect 返回302臨時跳轉,瀏覽器顯示跳轉後的url位址

1) 修改配置檔案

[root@localhost nginx]

# pwd

/usr/local/nginx

[root@localhost nginx]

# vim conf/nginx.conf

server

​ server

2) 新增dns 解析
[root@localhost nginx]# echo "1.1.1.101 www.haha.com" >> /etc/hosts
3) 重啟服務
killall nginx

nginx

server 

location = /

location /documents/

location ^~/images/

#  當使用者訪問 網域名稱返回 401(沒有許可權)

# 當使用者訪問網域名稱下的目錄返回 402

# 當使用者訪問網域名稱下的 documents 返回 403(j禁止訪問)

# 當使用者訪問網域名稱下的 images 返回 404(網頁不存在)

1) 隱藏版本號

Nginx日誌配置及分割

log format 語法log format formatname formatparamslog format 語法描述log format 宣告乙個日誌格式 formatname 格式化名稱,相當於函式名 formatparams 引數列表,相當於函式體log format 引數列表 msec...

nginx日誌分割

以下這個指令碼實施的核心是 每天凌晨將日誌檔案壓縮並移動到相應的年份月份目錄下,然後重新生成日誌檔案,同時記錄日誌 bin bash logs path home wwwlog 日誌存放位置 year date y 年份 month date m 月份 day date y m d 日期 time ...

Nginx 日誌分割

usr bin bash 日誌檔案存放目錄 logs path var log nginx nginx程序pid nginx pid cat var run nginx.pid 日誌名稱 logs name date d yesterday y m d 改名 mv logs path access....