Nginx源码目录介绍
本文首先介紹Nginx幾大流派(分支),然后簡述Nginx核心組成部分,最后介紹在編譯安裝時的重要參數和核心目錄。
文章目錄
- 1.Nignx幾大分支
- 2.Nginx組成部分:
- 3.編譯安裝Nginx
- 編譯參數說明
- 編譯中間文件介紹:
- 安裝目錄介紹:
- 4.源碼目錄介紹
- 5.conf配置文件高亮顯示:
1.Nignx幾大分支
1.開源版nginx.org
2.商業版:nginx.com
3.阿里巴巴的 Tengine
4.OpenResty:分為開源和商業版
? ?首先俄羅斯人開發出了Nignx,最后發展為開源版本Nginx和商業版Nginx,有點類似Centos和RedHat。后來張玉春在Nginx基礎上,擴展開發形成OpenResty,也成為一個很重要的分支。阿里巴巴最后在Nginx基礎上開發了自己的Tengine。 三者用法幾乎一致,而且底層都是基于最開始的Nginx核心模塊,并且相互之間的一些模塊可以互相使用。
2.Nginx組成部分:
Nginx就像一輛高性能的汽車,Nginx二進制可執行文件是發動機(可更換,即熱部署),Nginx.conf配置文件就是駕駛艙,access.log就是行車記錄儀,而error.log便是黑匣子。
3.編譯安裝Nginx
使用編譯源碼方式安裝。這里不推薦其他安裝方式。源碼安裝一方面可以獲取最新的Nginx,另一方面可以方便靈活的編譯不同模塊到Nginx,在生產環境可能需要經常熱部署升級等,這些都必須是編譯源碼安裝。
這里我僅以Centos7為例演示安裝Nginx:
-
第一步:在官網下載Nginx源碼 ,
Nginx官網提供了三個類型的版本
Mainline version:Mainline 是 Nginx 目前主力在做的版本,可以說是開發版
Stable version:最新穩定版,生產環境上建議使用的版本
Legacy versions:遺留的老版本的穩定版
- 第二步:安裝必要的一些類庫和軟件支持(如果已裝,可跳過)
- 第三步:解壓并進入解壓目錄
- 第四步:編譯安裝(老三步)
- 第五步:啟動和停止Nginx服務
編譯參數說明
第四步中 --prefix 可以指定安裝目錄,如果不指定該參數默認是/usr/local/nginx 目錄。
通過下面命令可以查看更多可選編譯參數:
./configure --help | more這些參數主要分為三類:
-
1.指定一些目錄
比如:–prefix 可以指定安裝目錄。
-
2.指定編譯時使用或者排除那些模塊:
其中–with開頭的說明默認不會編譯進nginx如果需要該模塊,需要加上該參數去編譯進Nginx二進制文件,–without開頭則說明默認會編譯進去,如果不需要,需要指定進行移除。
-
3.指定一些特殊參數:比如要打印一些debug日志等
編譯中間文件介紹:
編譯產生的中間文件會在objs目錄中。其中最重要的是ngx_modules.c 這里邊會決定nginx會將那些模塊進行安裝。另外nginx的運行二進制文件也會在objs中,如果我們是做nginx升級,我們不能運行make install ,而需要將nginx文件拷貝到nginx目錄中覆蓋原有的二進制文件。objs中的src是c語言編譯產生的中間文件。
安裝目錄介紹:
執行make install便會安裝nginx到指定目錄。安裝目錄中的nginx.conf配置文件就是從源碼的conf中拷貝的,sbin目錄中則是核心的二進制執行文件。
4.源碼目錄介紹
上面編譯安裝的第三步解壓后目錄如下:
drwxr-xr-x 6 1001 1001 326 Aug 26 20:14 auto -rw-r--r-- 1 1001 1001 296223 Apr 23 21:13 CHANGES -rw-r--r-- 1 1001 1001 451813 Apr 23 21:13 CHANGES.ru drwxr-xr-x 2 1001 1001 168 Aug 26 20:14 conf -rwxr-xr-x 1 1001 1001 2502 Apr 23 21:12 configure drwxr-xr-x 4 1001 1001 72 Aug 26 20:14 contrib drwxr-xr-x 2 1001 1001 40 Aug 26 20:14 html -rw-r--r-- 1 1001 1001 1397 Apr 23 21:12 LICENSE drwxr-xr-x 2 1001 1001 21 Aug 26 20:14 man -rw-r--r-- 1 1001 1001 49 Apr 23 21:12 README drwxr-xr-x 9 1001 1001 91 Aug 26 20:14 src-
auto中是一些判斷操作系統支持,編譯等相關的文件。
-
CHANGES:是版本的更改日志(.ru是俄語版,因為作者是俄羅斯)
-
conf中是示例配置文件,可方便配置,可以直接拷貝到安裝目錄,簡化配置。
-
configure腳本:是編譯生成中間文件前的一個必備動作。
-
contrib : 提供了語法高亮支持腳本,讓vim打開時,語法高亮。需要拷貝contrib中到 本地vim目錄(如果根目錄沒有該目錄,先mkdir ~/.vim)
-
man:幫助目錄
-
html: 有兩個默認頁面一個是報錯后的顯示
-
src: 源碼目錄
5.conf配置文件高亮顯示:
將源碼目錄的vim目錄拷到系統用戶根目錄:(如果系統不存在.vim目錄,先新建目錄)
cp -r contrib/vim/* ~/.vim/總結
以上是生活随笔為你收集整理的Nginx源码目录介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: openmp 互斥锁 mysql_Ope
- 下一篇: 数据分析思维扫盲