環境:CentOS 6.3,FastDFS_v5.05
1、軟件下載地址:
wget https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gz
wget http://jaist.dl.sourceforge.net/project/fastdfs/FastDFS%20Nginx%20Module%20Source%20Code/fastdfs-nginx-module_v1.16.tar.gz
wget https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz
wget http://nginx.org/download/nginx-1.8.0.tar.gz
wget http://sourceforge.net/projects/pcre/files/pcre/8.32/pcre-8.32.tar.gz/download
wget https://ncu.dl.sourceforge.net/project/libpng/zlib/1.2.11/zlib-1.2.11.tar.gz
1
2
3
4
5
6
2、安裝libevent:
wget --no-check-certificate http://www.monkey.org/~provos/libevent-1.2.tar.gz
tar -zxvf libevent-1.2.tar.gz
cd libevent-1.2
./configure
make & make install
1
2
3
4
5
libevent會安裝到 /usr/lib 或 /usr/local/lib 下
測試libevent是否安裝成功:ls -al /usr/lib | grep libevent(或 ls -al /usr/local/lib | grep libevent)
3、安裝libfastcommon:
tar -zxvf V1.0.7
cd libfastcommon-1.0.7/
./make.sh
./make.sh install
1
2
3
4
沒報錯即安裝成功,此時,會在/usr/lib64目錄下生成libfastcommon.so文件。而而FastDFS主程序設置的lib目錄是/usr/local/lib,所以設置軟連接:
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
1
2
3
4
4、安裝FastDFS:
(1)
tar -zxvf V5.05
cd fastdfs-5.05/
./make.sh
./make.sh install
cd /etc/fdfs
1
2
3
4
5
(2)配置文件設置(使用到的目錄需要預先創建好,使用mkdir命令創建目錄):
cp tracker.conf.sample tracker.conf
cp storage.conf.sample storage.conf
cp client.conf.sample client.conf
1
2
3
tracker.conf:
視情況修改下列幾項(此處只修改了bind_addr):
bind_addr=192.168.119.128(ip地址,為空則開發所有ip,如果主機只有一個ip可以不填)
port=22122
http.server_port=8080
1
2
3
storage.conf:
視情況修改下列幾項(此處只修改了bind_addr,tracker_server):
group_name=group1
bind_addr=192.168.119.128
port=23000
base_path=/home/yuqing/fastdfs
store_path0=/home/yuqing/fastdfs
tracker_server=192.168.119.128:22122
http.server_port=8888
1
2
3
4
5
6
7
(3)啟動:
啟動tracker storage:
fdfs_trackerd /etc/fdfs/tracker.conf
fdfs_storaged /etc/fdfs/storage.conf
1
2
5、安裝nginx插件:
(1)安裝
tar -zxvf fastdfs-nginx-module_v1.16.tar.gz
cd fastdfs-nginx-module/src/
1
2
(2)config文件修改:
vi config
1
修改如下配置,原來是
CORE_INCS="$CORE_INCS /usr/local/include/fastdfs /usr/local/include/fastcommon/"
改成
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
1
2
3
這個是很重要的,不然在nginx編譯的時候會報錯的,我看網上很多在安裝nginx的fastdfs的插件報錯,都是這個原因,而不是版本不匹配。
將mod_fastdfs.conf配置文件復制到/etc/fdfs/目錄下
cp mod_fastdfs.conf /etc/fdfs
1
修改配置(這里我只修改了tracker_server和url_have_group_name)
group_name=group1
tracker_server=192.168.119.128:22122
store_path0=/home/yuqing/fastdfs
base_path=/home/yuqing/fastdfs
url_have_group_name = true
1
2
3
4
5
配置文件服務器的軟連接
ln -s /home/yuqing/fastdfs/data /home/yuqing/fastdfs/data/M00 (配置文件中stoage存放數據的路徑)
1
同時將以下兩個文件復制到/etc/fdfs/
cp /usr/local/soft/fastdfs-5.05/conf/http.conf /etc/fdfs/
cp /usr/local/soft/fastdfs-5.05/conf/mime.types /etc/fdfs/
1
2
6、nginx安裝:
在每個Storage服務器上安裝Nginx
(1)pcre安裝:
tar -zxvf pcre-8.32.tar.gz
cd pcre-8.32
./configure
make && make install
1
2
3
4
如果出現configure: error: You need a C++ compiler for C++ support.
錯誤提示,執行yum install -y gcc gcc-c++就可以了,再接着執行安裝命令
因為默認安裝在了/usr/local/lib/libpcre.so.1,建立軟連接
(不建立后面啟動nginx時會提示/usr/local/nginx/sbin/nginx: error while loading shared libraries:
libpcre.so.1: cannot open shared object file: No such file or directory)
ln -s /usr/local/lib/libpcre.so.1 /lib64/
1
(2)zlib安裝(不安裝或者安裝失敗,后面安裝nginx的時候會提示缺少zlib):
tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure
make
make install
1
2
3
4
5
使用在線安裝yum install zlib的,安裝nginx的時候會提示缺少zlib,沒弄明白什么原因,難道是姿勢不對?
(3)nginx安裝:
tar -zxvf nginx-1.8.0.tar.gz
cd nginx-1.8.0
./configure --prefix=/usr/local/nginx --add-module=/home/yq/fastdfs-nginx-module/src
make
make install
cd /usr/local/nginx/conf
vi nginx.conf
1
2
3
4
5
6
7
8
9
在server中添加
location /group1/M00{
root /usrdata/fastdfs/data;
ngx_fastdfs_module;
}
1
2
3
4
啟動:
/usr/local/nginx/sbin/nginx
1
安裝完成。
7、測試文件上傳:
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /usr/local/soft/pcre-8.32.tar.gz
1
成功后可按提示訪問:example file url:
http://192.168.119.130/group1/M00/00/00/wKh3glldoIaAUru1ABtQZ7TudIk_big.tar.gz
如果提示連接失敗,請關閉防火牆或開放指定端口;如果依然失敗,檢查配置是否正確
可能出現的錯誤:file: connection_pool.c, line: 110, connect to 192.168.0.197:22122 fail, errno: 111, error info: Connection refused
檢查/etc/fdfs/client.conf里的tracker_server配置是否正確
上傳的文件保存在/home/yuqing/fastdfs/data/M00/00/00目錄下