CentOS下安裝Nginx並新增nginx_upload_module

double2li發表於2014-12-19

安裝前,最好能保證依賴的系統軟體已經升級。
    yum update

CentOS上安裝Nginx,如果只是簡單安裝,不附加其他第三方模組,一句話可以搞定:
    yum install nginx

但是如果需要新增第三方的module則需要下載原始碼並重新編譯安裝了。(也可能有簡單方法,本人不知,如果真有,還請路過的高人指點。)

我這裡要新增兩個第三方模組,用來作檔案上傳和上傳進度條nginx_upload_module和nginx-upload-progress-module。

這裡需要安裝nginx_upload_module的朋友要注意了,如果要結合upload module,必須使用Nginx1.3.8或者以下的版本,高版本與當前最新版的nginx_upload_module-2.2.0存在衝突

首先去Nginx的官方網站下載Nginx的原始碼包
    wget http://nginx.org/download/nginx-1.3.8.tar.gz
下載nginx_upload_module
    wget http://www.grid.net.ru/nginx/download/nginx_upload_module-2.2.0.tar.gz
如果需要上傳進度資訊,下載下面的module。
    wget http://cloud.github.com/downloads/masterzen/nginx-upload-progress-module/nginx_uploadprogress_module-0.9.0.tar.gz

另外,有兩個依賴的包pcre 和 openssl,如果系統上已經安裝則不需要下載。
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.21.tar.bz2
wget http://www.openssl.org/source/openssl-1.0.0e.tar.gz

由於在伺服器上,本人習慣建立一個自己的資料夾如:mkdir slx
把這些檔案都放到裡面,然後用下面的命令逐個解壓縮(檔案格式不同對應的解壓引數不同):
    tar -jxvf 檔名.tar.gz
    tar -jxvf 檔名.tar.bz2
其他型別壓縮包不多介紹。網上易查。

解壓縮後進入nginx-1.3.8資料夾內,執行下面命令:
    ./configure –prefix=/slx/nginx –add-module=/slx/masterzen-nginx-upload-progress-module-a788dea –add-module=/slx/nginx_upload_module-2.2.0
–prefix指定需要安裝的位置。–add-module指定新增的模組。

另外還有 -with等選項 如-with-openssl=../openssl-1.0.0e 指定編譯時使用後面目錄下的類庫,這些網上文章比較多,不再多廢話。
之後執行
    make
如果沒有報錯則可以執行下面的安裝命令即可
    make install

如果安裝順利那麼恭喜你,如果出現錯誤,說md5.h: No such file or directory說明你中槍了,不過很幸運,我也中過,並學會了療傷。你找到這裡就解決了,不必再像我那樣摸不著頭腦四處找不到解決方法了。其實是因為你的系統中少了一個openssl-devel,安裝上就可以了
    yum install openssl-devel
然後再次make install就成功了。


相關文章