日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Nginx >内容正文

Nginx

Nginx源码目录介绍

發布時間:2023/12/14 Nginx 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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:遺留的老版本的穩定版

sudo wget http://nginx.org/download/nginx-1.16.0.tar.gz
  • 第二步:安裝必要的一些類庫和軟件支持(如果已裝,可跳過)
#1.安裝gcc g++開發類庫是否裝好 ububtu平臺編譯環境可以使用以下指令 apt-get install build-essential apt-get install libtoolcentos平臺編譯環境使用如下指令 yum -y install gcc automake autoconf libtool make yum install gcc gcc-c++ #2.正則表達相關PCRE sudo apt-get install libpcre3 libpcre3-dev centos: yum install -y pcre pcre-devel#3.安裝openssl ubuntu下: apt-get install openssl apt-get install libssl-devcentos下: yum -y install openssl openssl-devel#4.安裝zlib庫 sudo wget https://nchc.dl.sourceforge.net/project/libpng/zlib/1.2.11/zlib-1.2.11.tar.gztar -zxf zlib-12.11.tar.gz cd zlib-1.2.11 ./configure make make install
  • 第三步:解壓并進入解壓目錄
sudo tar -zxf nginx-1.16.0.tar.gz cd cd nginx-1.16.0
  • 第四步:編譯安裝(老三步)
./configure --prefix=/home/zx/nginx make make install
  • 第五步:啟動和停止Nginx服務
sudo ./nginx -c /usr/local/src/nginx/conf/nginx.conf //啟動 sudo /usr/local/src/nginx/sbin/nginx -s reload //平滑重啟./nginx -s stop #立即停止服務 ./nginx -s quit #優雅的停止服務 ./nginx -s reload #重載配置文件 ./nginx -s reopen #重新開始記錄日志文件停止: ps -ef|grep nginx kill -QUIT 2072 //停止kill -TERM 2132 kill -9 nginx //強制停止重啟: kill -HUP 進程號
編譯參數說明

第四步中 --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)

cp -r contrib/vim/* ~/.vim/
  • man:幫助目錄

  • html: 有兩個默認頁面一個是報錯后的顯示

  • src: 源碼目錄

5.conf配置文件高亮顯示:

將源碼目錄的vim目錄拷到系統用戶根目錄:(如果系統不存在.vim目錄,先新建目錄)

cp -r contrib/vim/* ~/.vim/

總結

以上是生活随笔為你收集整理的Nginx源码目录介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。