CentOS下安裝Nginx并添加nginx_upload_module
安裝前,最好能保證依賴的系統軟件已經升級。
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就成功了。