下載和安裝Nginx之普通的HTTP和HTTPS服務器

第一個例子描述的是這樣一種狀況,爲HTTP服務開啓HTTPS服務,幷包含最重要的功能和模塊,而與郵件相關的選項都被禁用:shell

# ./configure --user=www-data --group=www-data    
        --with-http_ssl_module     
        --with-http_realip_module

能夠看出,命令行至關簡單,大多數開關選項都被省略。緣由是:默認的配置是至關高效的,而且大多數模塊已被啓用。你只須要爲HTTPS協議包含http_ssl模塊便可。考慮Nginx服務器可能被用做後端運行,因此順便又添加了「real IP」模塊,該模塊用於檢索訪問者的IP地址。後端

開啓全部模塊
服務器

如下這一種狀況:整個安裝包,開啓全部的模塊支持,由本身來決定是否在運行時使用它們:dom

# ./configure --user=www-data --group=www-data    
        --with-http_ssl_module    
        --with-http_realip_module    
        --with-http_addition_module    
        --with-http_xslt_module    
        --with-http_image_filter_module    
        --with-http_geoip_module    
        --with-http_sub_module    
        --with-http_dav_module    
        --with-http_flv_module    
        --with-http_gzip_static_module    
        --with-http_random_index_module    
        --with-http_secure_link_module    
        --with-http_stub_status_module

這種配置開啓了最普遍的配置選擇,在這種安裝下,全部可選模塊都被開啓,所以須要安裝額外的庫,以在RedHat上爲例,例如GeoIP.x86_64GeoIP-devel.x86_64(用於Geo IP模塊),gd-devel.x86_64(用於Image Filter模塊),xml2.x86_64(用於XSLT模塊)。spa

注意:在前面列出的命令中,www-data用於運行Nginx進程的用戶和組(user和group),因此工做進程將以此組合來運行。所以,系統上必須有這樣的用戶和用戶組。命令行

創建配置的問題code

在某些狀況下,configure命令可能會失敗——在一個很長的檢查列表後,你可能會在終端上收到一些錯誤的信息,不少狀況下(但不是所有),這些錯誤與丟失先決條件或沒有指定路徑相關。xml

在這種狀況下,須要繼續下面的工做。即仔細校驗,以確保有全部須要編譯的應用程序,而且要隨時翻閱objs/autoconf.err文件,該文件詳細記錄了編譯出錯的相關問題,它是在configure進程進行期間產生的,它會詳細告訴你進程在哪裏出了問題。進程

請確保先決條件ip

基本的四個先決條件是:GCC,PCRE,zlib和OpenSSL。最後是三個庫,針對每一個庫,必須安裝兩個安裝包:一個是庫自身,另外一個是開發源代碼。肯定你已經安裝二者。注意其它先決條件,例如其餘的擴展模塊可能須要LibXML2或LibXSLT,例如HTTP XSLT模塊。

目錄的存在和可寫性

必定記得檢查明顯的錯誤,每個人早晚都會犯一些最初級的錯誤。肯定一下對於存放Nginx文件的目錄,運行配置和編譯腳本的用戶是否有讀和寫的權限,也要肯定一下在配置腳本各個開關項中指定的路徑是否存在,是否有效。

這是問題都解決後的檢查結果。

編譯和安裝

配置過程至關重要——它會產生一個makefile,依賴於應用程序所選擇的開關項,會根據需求在系統上執行一個較長時間的檢查。一旦configure腳本成功執行,你就能夠繼續編譯安裝Nginx:

# make && make install
相關文章
相關標籤/搜索