Nginx —— configure的命令参数(nginx编译选项)
configure命令是用來檢測你的安裝平臺的目標特征的。它定義了系統的各個方面,包括nginx的被允許使用的連接處理的方法,比如它會檢測你是不是有CC或GCC,并不是需要CC或GCC,它是個shell腳本,執行結束時,它會創建一個Makefile文件。
make是用來編譯的,它從Makefile中讀取指令,然后編譯,生成目標文件、最終的二進制文件。
make install是用來安裝的,它也從Makefile中讀取指令,安裝到指定的位置。其根據configure命令執行時的參數將Nginx部署到指定的安裝目錄,包括相關目錄的建立和二進制文件、配置文件的復制。
nginx的configure命令支持以下參數:
使用help命令可以查看configure包含的參數。
./configure? --help
這里不一一列出help的結果,只是把它的參數分為四大類型,下面將會詳述各類型下所有參數的用法和意義!
-
1. 路徑相關的參數
configure支持的路徑相關參數
參數名稱意義 默認值
--prefix=PATH????????????????????? Nginx安裝部署后的根目錄 默認為//usr/local/nginx目錄。
注意:這個目標的設置會影響其他參數中的相對目錄。例如:如果設置了--sbin-path = sbin/nginx,那么實際上可執行文件會被放到/usr/local/nginx/sbin/nginx中。
--sbin-path=PATH???????????? 可執行文件的存放路徑 <perfix>/sbin/nginx
--conf-path=PATH 配置文件的存放路徑 <perfix>/conf/nginx.conf --error-log-path=PATH .error日志文件的存放路徑。error日志用于定位問題,可以輸出多種幾倍(包括debug調試級別)的日志。它的配置非常靈活,可以在nginx.conf里配置為不同請求的日志并輸出到不同的log文件中。這里是默認的Nginx核心日志路徑 <perfix>/logs/error/log --pid-path=PATH pid文件存放的路徑。這個文件里 僅以ASC II碼存放著Nginx master的進程ID,有了這個進程ID,在使用命令行(例如nginx -s reload)通過讀取master進程ID向master進程發送信號時,才能對運行中的Nginx服務產生作用。 <perfix>/logs/nginx.pid --lock-path=PATH lock文件的放置路徑
<perfix>/logs/nginx.lock --builddir=DIR configure執行時與編譯期間產生的臨時文件放置的目錄,包括Makefuile、C源碼文件、目標文件、可執行文件等。 <nginx source path>/objs --with-perl_modules_path=PATH prel module 放置的路徑。只有使用了地薩芬的perl module,才會配置這個路徑。 無 --with-perl=PATH perl binary放置的路徑。如果配置的Nginx會執行Perl腳本,哪么就必須要設置此路徑。 無 --http-log-path=PATH access日志放置的位置。每個http請求在結束時都會記錄的訪問日志 <perfiex>/logs/access.log --http-client-body-temp-path=PATH 處理http請求時如果請求的包體需要暫時存放到臨時磁盤文件中,則把這樣的臨時文件方知道該路徑下 <perfiex>/client_body_temp --http-proxy-temp-path=PATH Nginx作為http反向代理服務器時,上游服務器產生的HTTP包體在需要臨時存放到磁盤文件時,這樣的臨時文件將放到該路徑下 <perfiex>/proxy_temp --http-fastcgi-temp-path=PAT Fastcgi 所使用臨時文件的放置目錄 <perfiex>/fastcgi_temp --http-uwsgi-temp-path=PATH uWSGI所使用臨時文件的放置目錄 ?<perfiex>/uwsgi_temp
--http-scgi-temp-path=PATH SCGI所使用臨時文件的放置目錄 <perfiex>/scgi_temp ?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
-
2.? 編譯相關的參數
configure支持的編譯相關參數
編譯參數意義 --with-cc=PATH?????
C編譯器的路徑 --with-cpp=PATH C預編譯器的路徑 --with-cc-opt=OPTIONS
如果希望在Nginx編譯期間指定加入一些編譯選項,如指定宏或者使用-I 加入某些需要包含的目錄這時可以使用該參數達成目的。 ?--with-ld-opt=OPTIONS 最終的二進制可執行文件是由編譯后生成的目標文件與一些第三方庫連接而成的,在執行鏈接操作時可能會需要指定的鏈接參數,--with-ld-opt就是用于加入鏈接時的參數。例如,如果我們希望將某個庫鏈接到Nginx程序中,需要在這里加入--with-ld-opt=-libraryName - L libraryPath,其中libraryName是目標庫的名稱,libraryPath則是目標庫所在的路徑。 ?--with-cpu-opt=CPU 指定CPU的處理器架構,只能從以下值中選擇:pentium pentiumpro pentium3 pentium4 athlon opteron sparc32 sparc64 ppc64
?
?
?
?
?
?
?
-
?3.依賴軟件的相關參數
PCRE的設置參數
PCRE庫的設置參數 意義
--without-pcre???????????????? 如果確認Nginx不用解析正則表達式,也是就是說,nginx.conf配置文件中不會出現正則表達式,那就可以使用這個參數。 --with-pcre 強制使用PCRE庫 --with-pcre=DIR 指定PCRE庫的源碼位置 --with-pcre-opt=OPTIONS 編譯PCRE源碼時希望加入的編譯選項 ?
?
?
?
?
?
| ?--with-openssl=DIR???? | 指定openssl庫的源碼位置,在編譯時會進入該目錄編譯openssl源碼。 |
| --with-openssl-opt=OPTIONS??? | 編譯openssl源碼時希望加入的編譯選項 |
?
?
?
?
| --with-libatomic | --with-libatomic=DIR |
?
?
?
?
| --with-MD5=DIR | --with-MD5-OPT=OPTIONS |
| --with-MD5-asm | --with-SHA1=DIR |
| --with-SHA1-opt=OPTIONS | --with-SHA1-asm |
?
?
?
?
?
| --with-zlib=DIR | --with-zlib-opt=OPTIONS |
| --with-zlib-asm=CPU | ? |
?
?
?
?
?
-
? 4.模塊相關的參數
?除了少量的核心代碼外,nginx完全是由各種功能模塊組成的。這些模塊會根據配置參數決定自己的次年改為,因此,正確的使用各個模塊非常關鍵。在configure的參數中,我們把它分為五大類。
?事件模塊
?
?
?參考書籍: 《深入理解Nginx》? 陶輝 著
總結
以上是生活随笔為你收集整理的Nginx —— configure的命令参数(nginx编译选项)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Nginx —— configure文
- 下一篇: Nginx —— nginx的命令行控