nginx安裝之前一定要確定是否已經(jīng)安裝了必備的依賴庫,我這里因為第一次安裝不知道需要安裝相應(yīng)的依賴庫,一直在報錯,浪費(fèi)了很多時間在這個上面。
nginx基本的依賴庫有pcre、zlib、openssl
這三個,這三個是一定要安裝的。其中zlib
國內(nèi)的網(wǎng)下載不了,要不翻墻要不自己搞搞鏡像試試。
在nginx
中:
l gzip模塊需要 zlib 庫
l rewrite模塊需要 pcre 庫
l ssl 功能需要openssl庫
我這里已經(jīng)下載了最新的zlib庫,需要的話可以拿過去直接用。
鏈接:zlib-1.2.11下載鏈接 密碼:d7nb
一、安裝pcre
在http://www.pcre.org/上可以獲取當(dāng)前最新的版本。
我的虛擬機(jī)上沒有安裝yum
,那怎么辦,只能去官網(wǎng)直接下載了,這里請了解一下prce
和prce2
的區(qū)別。
首先切換到管理員:
sudo su
依次執(zhí)行下方命令:
wget https://ftp.pcre.org/pub/pcre/pcre-8.42.tar.gz
cd /home/user/下載/
tar -zxvf pcre-8.42.tar.gz
cd pcre-8.42
./configure
make
make install
二、安裝openssl
在http://www.openssl.org/source/上可以獲取當(dāng)前最新的版本。
依次執(zhí)行下方命令:
wget https://www.openssl.org/source/openssl-1.1.1.tar.gz
cd /home/user/下載/
tar -zxvf openssl-1.1.1.tar.gz
./config
make
make install
三、安裝zlib
在http://www.zlib.net/上可以獲取當(dāng)前最新的版本,但國內(nèi)進(jìn)不去,我這已經(jīng)下載好了。
鏈接:zlib-1.2.11下載鏈接 密碼:d7nb
cd /home/user/下載/
tar -xvf zlib-1.2.11.tar
./configure
make
make install
四、安裝nginx
首先安裝fastdfs-nginx-module
執(zhí)行以下命令:
wget https://github.com/happyfish100/fastdfs-nginx-module.git
unzip fastdfs-nginx-module-master.zip
wget http://nginx.org/download/nginx-1.13.12.tar.gz
tar -zxvf nginx-1.13.12.tar.gz
然后進(jìn)入nginx-1.13.12
目錄中
cd nginx-1.13.12
若安裝時找不到上述依賴模塊,使用--with-openssl=<openssl_dir>
、--with-pcre=<pcre_dir>
、--with-zlib=<zlib_dir>
指定依賴的模塊目錄。如已安裝過,此處的路徑為安裝目錄;若未安裝,則此路徑為編譯安裝包路徑,nginx將執(zhí)行模塊的默認(rèn)編譯安裝。
我當(dāng)時發(fā)現(xiàn)錯誤之后我就安裝了這三個庫,之后我是用安裝路徑在執(zhí)行了一遍下面的命令。
./configure --prefix=/usr/local/nginx/ --add-module=/home/user/下載/fastdfs-nginx-module-master/src/ --with-pcre=/home/user/下載/pcre-8.42 --with-zlib=/home/user/ 下載/zlib-1.2.11 --with-openssl=/home/user/下載/openssl-1.1.1
make
make install
之后需要配置fastdfs-nginx-module
的源碼
先進(jìn)入解壓好的fastdfs-nginx-module-master
中,然后進(jìn)入src/
cd /home/user/下載/fastdfs-nginx-module-master/src/
然后將配置文件復(fù)制到/etc/fdfs/
下
cp mod_fastdfs.conf /etc/fdfs/mod_fastdfs.conf
cd /etc/fdfs/
進(jìn)入/etc/fdfs/
之后編輯mod_fastdfs.conf這個配置文件
vim /etc/fdfs/mod_fastdfs.conf
修改一下內(nèi)容如下:
connect_timeout=10
# the base path to store log files
base_path=/home/python/log
# FastDFS tracker_server
tracker_server=當(dāng)前虛擬機(jī)的IP地址:22122
# store_path#, based 0, if store_path0 not exists, it's value is base_path
# the paths must be exist
# must same as storage.conf
store_path0=/home/python/fastdfs/storage
# if the url / uri including the group name
url_have_group_name = true
如果出現(xiàn)以下的錯誤:
[2017-03-26 11:52:26] ERROR - file: ini_file_reader.c, line: 315, include file "http.conf" not exists, line: "#include http.conf"
[2017-03-26 11:52:26] ERROR - file: /opt/fastdfs-nginx-module/src/common.c, line: 155, load conf file "/etc/fdfs/mod_fastdfs.conf" fail, ret code: 2
2017/03/26 11:52:26 [alert] 12135#0: worker process 12136 exited with fatal code 2 and cannot be respawned
說明你的/etc/fdfs/
下沒有http.conf
和mime.types
這兩個文件,你需要將這兩個文件從解壓目錄中復(fù)制過去,然后從來一遍就可以了。
五、修改nginx配置文件
vi /usr/local/nginx/conf/nginx.conf
user nobody;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 8888;
server_name localhost;
location ~/group([0-9])/ {
ngx_fastdfs_module;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
這個location ~/group([0-9])/
,~后面是正則匹配 ,只要訪問nginx的地址里面如果有g(shù)roup([0-9]) 這些字符的話就會去ngx_fastdfs_module 中把這個文件返回。
六、啟動nginx & 重啟nginx
到這里我們就配置成功了,下面我們就啟動nginx。
/usr/local/nginx/sbin/nginx
# 重啟
sbin/nginx -s reload
然后你可以在同一個網(wǎng)段下的任意一臺電腦輸入你剛剛配置的IP地址就會出現(xiàn)以下畫面,記得IP地址要加上端口號哦~
七、關(guān)閉nginx
sudo /usr/local/nginx/sbin/nginx -s stop
也可以直接kill掉。
八、測試fastDFS上傳文件
接著我們測試一下FastDFS。
fdfs_upload_file /etc/fdfs/client.conf /home/user/下載/5.jpg
上傳成功后會生成這樣一個文件:
這里我們就看到了group
的身影,具體group是個什么東西請看上一篇文章。
group1/M00/00/00/rBC3hlvZXbWAU966AAD9MJ3jEcI773.jpg
然后我們在同一網(wǎng)段下的任何電腦打開這個地址:
這樣我們就成功了,通過這個地址,nginx就會通過FastDFS把這個圖片返回回來。
以上就是我個人創(chuàng)建fastdfs以及搭建nginx的流程與步驟,期間擦剩了好多的錯誤,由于心急我沒有截圖,好在我沒有重復(fù)安裝過,如果有哪里說的不對希望大家指正,感謝~
上一篇文章:首次Linux安裝FastDFS最全流程(一)