咱們下載源代碼包而且手動編譯,而不是使用包管理工具,例如Yum,Aptitude等來安裝。這麼作有兩個緣由。首先,在Linux發佈版本中,該包可能無效,實際上,不多有提供下載和自動安裝的倉庫,即便有,大部分包含的也是過時的版本。其次,更重要的是,有一個不得不提的事實,咱們須要在編譯時對多種重要的選項進行配置,也正是基於這種狀況,纔有了不起不手動編譯安裝的需求,所以也就導致你須要在系統上安裝些工具和庫文件,在Nginx編譯時根據須要進行處理。在這裏,咱們將指導你安裝最多見的工具和庫,例如GCC,PCRE,zlib和OpenSSL。正則表達式
GCC——GNU編譯器集合算法
Nginx是一個由C語言編寫的程序,所以首先須要在系統上安裝一個編譯工具,例如GNU的GCC,GCC一般由大多數Linux的發行版本安裝,但若是由於某種緣由沒有安裝,那麼這一步必須進行。shell
首先肯定系統上是否已經安裝GCC:安全
$ gcc
若是有下面的輸出,則代表GCC已經正確安裝在系統上:bash
gcc: no input files
若是收到下面的消息,則必須安裝和編譯GCC:服務器
-bash:gcc: command not found
GCC可使用默認包管理器的倉庫(repositories)來安裝,包管理器的選擇依賴於你使用的Linux發佈版本,包管理器有不一樣的實現:yum是基於Red Hat的發佈版本;apt用於Debian和Ubuntu;yast用於SuSE Linux等等。工具
RedHat中安裝GCC:spa
# yum install gcc
Ubuntu中安裝GCC:code
# apt-get install gcc
PCRE庫ip
Nginx編譯須要PCRE(Perl Compatible Regular Expression),由於Nginx的Rewrite模塊和HTTP核心模塊會使用到PCRE正則表達式語法。這裏須要安裝兩個安裝包pcre和pcre-devel。第一個安裝包提供編譯版本的庫,而第二個提供開發階段的頭文件和編譯項目的源代碼,這正是咱們須要的理由。
RedHat中安裝:
# yum install pcre pcre-devel
或者安裝與PCRE相關的全部安裝包:
# yum install pcre*
Ubuntu中安裝:
# apt-get install libpcre3 libpcre3-dev
zlib庫
zlib庫提供了開發人員的壓縮算法,在Nginx的各類模塊中須要使用gzip壓縮。如同安裝PCRE同樣,一樣須要安裝庫和它的源代碼:zlib和zlib-devel。
RedHat中安裝:
# yum install zlib zlib-devel
Ubuntu中安裝:
# apt-get install zlib1g zlib1g-dev
OpenSSL
在Nginx中,若是服務器提供安全網頁時則會用到OpenSSL庫,咱們須要安裝庫文件和它的開發安裝包(openssl和openssl-devel)。
RedHat中安裝:
# yum install openssl openssl-devel
Ubuntu中安裝(注:Ubuntu14.04的倉庫中沒有發現openssl-dev):
# apt-get install openssl openssl-dev