1. 程式人生 > >nginx 編譯安裝流程介紹

nginx 編譯安裝流程介紹

因為yum或者apt-get 的方式 安裝的編譯好的二進位制檔案,裡面只集成了官方的模組,很多優秀的第三方模組不能自己自定義安裝,所以使用編譯安裝能提高定製性。

1 . 從nginx.org 網站下載nginx的stable版本,然後解壓
進入解壓後的資料夾,做些基本介紹:

  • auto資料夾:為configure編譯服務的,判斷系統環境,cc編譯
  • conf資料夾:配置的示例檔案,安裝完成以後會被複制到安裝目錄
  • cofigure二進位制檔案:執行編譯安裝
  • contrib資料夾:其中一項是提供vim編輯下,nginx的conf檔案的高亮。做法是:
cp -r contrib/vim/* ~/.vim/
  • html資料夾:兩個標準的html檔案50x.html 和 index.html
  • man資料夾:nginx命令幫助檔案
  • src資料夾:nginx原始碼

2 . 準備用configure編譯nginx
編譯的配置分三個部分:

  • 配置nginx的一些檔案的目錄(module-path,error-log-path等)
  • 配置要編譯哪些nginx模組(–with_http_ssl_module等)
  • 配置在編譯過程中需要用到的特殊引數(開啟debug,優化gcc編譯的一些引數)

3 . 編譯完成後,中間檔案會放在新生成的objs資料夾中(./configure --prefix=xxx)
其中最重要的是裡面有一個ngx_module.c,裡面記錄了會有什麼模組被編譯進nginx中

4 . 安裝編譯(make)
生成一些中間檔案(包括nginx的可執行的二進位制檔案),也在objs資料夾中(objs/src中)
如果是做nginx的版本升級,到此步不能執行 make install 需要將此時此處的nginx的二進位制檔案拷貝的安裝目錄中(don’t know why, should review this when it is needed)
如果使用了動態模組,其生成的.so檔案也會放在objs這個資料夾下

5 . 安裝完成(make install)
安裝好的nginx會放在前面設定好的安裝目錄裡面,其中nginx的二進位制執行檔案在sbin資料夾裡面,access.log和error.log在logs資料夾裡面,nginx的配置檔案在conf資料夾下