Nginx 自編譯安裝 格式化時間

2021-09-24 11:07:11 字數 2860 閱讀 3799

1. 安裝gcc(centos 7之後一般已自帶,可以在第6步失敗後再安裝)

yum install gcc gcc-c++

2. 安裝pcre

yum install -y pcre pcre-devel

3. 安裝zlib

yum install -y zlib zlib-devel

4. 安裝openssl

yum install -y openssl openssl-devel

如果需要nginx需要**能力

pcre 作用是讓 nginx 支援 rewrite 功能。

wget
tar zxvf pcre-8.35.tar.gz
cd pcre-8.35
[root@bogon pcre-8.35]# ./configure

[root@bogon pcre-8.35]# make && make install

nginx編譯時 追加引數 

--with-pcre=/usr/local/src/pcre-8.35
安裝nginx

wget
6. 編譯nginx(載入常用模組如ssl)./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_gzip_static_module --with-http_ssl_module

7. 安裝nginx

make && make install

8. 啟動

/usr/local/nginx/sbin/nginx

9. 停止

/usr/local/nginx/sbin/nginx -s stop(reload表示重啟)

10. 瀏覽器訪問nginx所在機器ip,驗證nginx啟動成功

注:nginx配置檔案位置

安裝完成之後 開始修改原始碼

因為要獲取nginx訪問資訊,作為開發的資料使用,但是nginx的access.log檔案中的預設的時間格式是這樣的:

[02/nov/2017:20:48:25 +0800]

而要求的格式類似如下:

[2017-11-02 20:52:06]

回到頂部

方法都幾種,但是修改原始碼的方法看上去麻煩,做起來也簡單,我這邊修改了原始碼(把原來的刪了,複製新的),重新編譯

1.修改src/http/modules/ngx_http_log_module.c

1) ,

修改後:

修改後:

return ngx_cpymem(buf, ngx_cached_err_log_time.data,

ngx_cached_err_log_time.len);

2、修改 src/core/ngx_times.c 140行

(void) ngx_sprintf(p1, "%4d/%02d/%02d %02d:%02d:%02d",

tm.ngx_tm_year, tm.ngx_tm_mon,

tm.ngx_tm_mday, tm.ngx_tm_hour,

tm.ngx_tm_min, tm.ngx_tm_sec);

修改後

(void) ngx_sprintf(p1, "%4d-%02d-%02d %02d:%02d:%02d",

tm.ngx_tm_year, tm.ngx_tm_mon,

tm.ngx_tm_mday, tm.ngx_tm_hour,

tm.ngx_tm_min, tm.ngx_tm_sec);

3.備份一下配置檔案(小心一些好)

4.重新編譯,引數還是用原來的吧

5. make && make install 之後重啟nginx就行了

注意安裝nginx 不要隨便指定安裝目錄 否則可能出現

格式化時間

對date的擴充套件,將 date 轉化為指定格式的string 月 m 日 d 小時 h 分 m 秒 s 季度 q 可以用 1 2 個佔位符,年 y 可以用 1 4 個佔位符,毫秒 s 只能用 1 個佔位符 是 1 3 位的數字 例子 new date format yyyy mm dd hh m...

格式化時間

1.日期格式化就是對日期字串進行解析和格式化輸出 2.在軟體系統中,展現層的日期資料為字串,邏輯層的日期為date物件,儲存層的日期資料為時間戳 3.日期格式化就是在不同層次之間進行資料轉換 時間戳 date物件 格式化字串 utc universal time coordinated 是世界統一時...

格式化時間間隔

格式化時間 時間間隔單位統一用小時來判斷 時間據現在時間60分鐘以內 包括60分鐘 顯示x分鐘前 小於1小時 時間據現在時間1小時以上24小時以內 包括24小時 顯示x小時前 1 24小時 時間據現在時間24小時以上,10天以內 包括10天 顯示x天前 24 240小時 時間據現在時間10天以上,則...