安装libfastcommon

安装FastDFS之前要先安装它的依赖库libfastcommon,
下载地址:

https://github.com/happyfish100/libfastcommon.git

安装的FastDFS版本为5.08
具体安装步骤查看它里面的INSTALL文档
解压libfastcommon-master压缩包


unzip libfastcommon-master.zip

或者

tar -zxvf libfastcommon-master.tar.gz

进入libfastcommon目录

cd libfastcommon

编译libfastcommon

./make.sh

安装libfastcommon

./make.sh install

安装FastDFS
下载地址:

https://github.com/happyfish100/fastdfs.git

具体安装步骤查看它里面的INSTALL文档
解压FastDFS压缩包


tar -xzf FastDFS_v5.08.tar.gz

或者

unzip fastdfs-master.zip在这里插入代码片

进入FastDFS目录

cd FastDFS

编译FastDFS

./make.sh

安装FastDFS

./make.sh install

修改配置文件

cd /etc/fdfs/

会看到三个配置文件:

client.conf.sample
tracker.conf.sample
storage.conf.sample

复制,然后配置:

cp client.conf.sample client.conf
cp tracker.conf.sample tracker.conf
cp storage.conf.sample storage.conf

配置storage.conf
注意:同一个组内的不同的storage的配置要相同(方便同步文件)
配置storage属于哪个group:

group_name=group1 (因为现在先只是配一个组,所以这里就为group1)
**

1.配置base_path: 原来 base_path=/home/liuli/fastdfs 这里需要改为自己的文件路径, 如:base_path=/home/xxx/fastdfs (这里的文件目录如果没有,要自己新建, 不然会报错)
2.配置store_path0: 这里 store_path0=/home/liuli/fastdfs 也要改为自己的文件路径 如: store_path0=/home/xxx/fastdfs (建议与bast_path一样)
3.配置tracker_server: 还有:tracker_server要改为自己的trakcer_server的ip 如:tracker_server=192.168.1.1:22122 (若有特殊要求可查看文档根据实际情况配置)
配置tracker.conf 配置base_path: 原来 base_path=/home/liuli/fastdfs
这里需要改为自己的文件路径, 如:base_path=/home/xxx/fastdfs (这里的文件目录如果没有,要自己新建,
不然会报错) (若有特殊要求可查看文档根据实际情况配置)

**

配置client.conf
1.配置base_path: 原来 base_path=/home/liuli/fastdfs 这里需要改为自己的文件路径, 如:base_path=/home/xxx/fastdfs (这里的文件目录如果没有,要自己新建, 不然会报错)
2.配置tracker_server: 还有:tracker_server要改为自己的trakcer_server的ip 如:tracker_server=192.168.1.1:22122 (若有特殊要求可查看文档根据实际情况配置)

启动服务程序
启动tracker server

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart

启动storage server

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart

启动测试程序
上传文件测试:

/usr/bin/fdfs_test /etc/fdfs/client.conf upload /upload/test.jpg

上传成功会返回信息如:
This is FastDFS client test program v5.08
Copyright © 2008, Happy Fish / Liuli
……(此处省略很多字)
example file url:

**

http://192.168.1.1/group1/M00/00/00/rBAk9VhH11aAQznLAACgiYdLO3c42_big.jpg

**
安装Nginx
安装软件

1.yum install gcc-c++
2.yum install -y pcre pcre-devel
3.yum install -y zlib zlib-devel
4.yum install -y openssl openssl-devel
5.yum install -y unzip zip
6.yum install gcc gcc-c++ make automake autoconf libtool pcre* zlib openssl openssl-devel
7.yum install gd-devel gd -y

出错处理:
error: You need a C++ compiler for C++support,看到这句话我们就已经猜到了应该是c++包信息,而linux中没有,那么首先安装一下这个包信息即可,安装命令为:
yum install -y gcc gcc-c++
当安装完上面的c++包之后,在此运行,发现消息已经显示安装成功了,当基于上面的东西全部安装完成之后,就需要安装Nginx服务了。

**安装Nginx

  1. 进入目录:**

cd nginx-1.11.2

2. 执行命令:

./configure

3. 执行命令:

make

4. 执行命令:以下, 安装成功之后,默认会在/usr/local 下创建nginx 目录

sudo make install

5. 修改目录权限:

chmod a+rwx -R /usr/local/nginx/logs/
chmod a+rwx -R /usr/local/nginx/

6. 检测配置文件是否正确
检测命令:

/usr/local/nginx/sbin/nginx -t

出现以下信息证明配置正确
nginx: the configuration file /usr/local/nginx/conf/nginx.confsyntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test issuccessful

启动Nginx
启动命令:

/usr/local/nginx/sbin/nginx

出现以下信息证明启动成功

ngx_http_fastdfs_set pid=25060

浏览器中输入: localhost或者ip 192.168.1.1, nginx 监听的89 端口(默认监听80)
安装fastdfs-nginx-module

下载地址:

https://github.com/happyfish100/fastdfs-nginx-module/

fastdfs-nginx_module作用:在storage之间同步数据时候,还没同步完全时候就发生下载时,直接从源数据storage下载
将fastdfs-nginx-module压缩包解压,并记录下它的路径,因为安装的时候要用到
进入nginx的安装包的源目录,然后编译和安装fastdfs-nginx-module

1、解压fastdfs-nginx-module-master.zip同时将解压后的文件拷贝的nginx目录下面。
2、将fastdfs-nginx-module/src 目录下的mod_fastdfs.conf,http.conf,mime.types文件拷贝到/etc/fdfs目录下面。

注意:要先关闭所有的nginx进程,在进行下面这一步骤
命令如下:

cd nginx

./configure --prefix=/usr/local/nginx
–add-module=/usr/local/nginx/fastdfs-nginx-module/src --with-http_stub_status_module --with-http_realip_module --with-http_image_filter_module --with-debug

make

这里是引用

make install

说明:/usr/local/nginx/fastdfs-nginx-module/src根据自己的文件目录来配置
配置nginx.conf

(默认nginx.conf是在目录/usr/local/nginx/conf/ 里面的)
命令:

cd /usr/local/nginx/conf/
vim nginx.conf

location ~^/group./M00/(\d+)x(\d+)/(.+).(jpg|gif|png|JPG)$ {
root /home/liuli/fastdfs/data;
ngx_fastdfs_module;
expires 1d;
set $h $1;
set $w KaTeX parse error: Undefined control sequence: \d at position 29: …te ^(.+)/M00/(\̲d̲+)x(\d+)/(.+)\.… $1/M00/$4.$5 break;
image_filter resize $h $w;
image_filter_buffer 10M;
}
location ~ group1/M00/(.+).?(.+){
root /home/liuli/fastdfs/data;
ngx_fastdfs_module;
expires 1d;
image_filter_buffer 10M;
}
注意:root 目录指的是你storage安装目录。

1.只有一个group默认配置
最简单的配置:当mod_fastdfs.conf 配置文件中只有一个group1, 且配置了 url_have_group_name = false 时,即访问地址不使用分组名称,那么只需在nginx的配置文件中增加以下配置即可:
在nginx.conf里面的server{里面添加location /M00……},添加下面的几行:

location /M00 {
root /home/liuli/fastdfs/data;
ngx_fastdfs_module;
}

2.多个group的配置
当配置多个组,且mod_fastdfs.conf 里面指定了url_have_group_name= true 时,配置方式:

location ~ /group([0-9])/M00 {
root /home/liuli/fastdfs/data;
ngx_fastdfs_module;
}

比如:在group1上的 nginx 的nginx.conf 配置是
location /group1 /M00 {
root /home/liuli/fastdfs/data;
ngx_fastdfs_module;
}

比如:在group2上的 nginx 的nginx.conf 配置是
location /group2 /M00 {
root /home/liuli/fastdfs/data;
ngx_fastdfs_module;
}
创建/M00软连接
命令:

ln -s /home/liuli/fastdfs/data /home/liuli/fastdfs/data/M00

修改mod_fastdfs.conf
将/usr/local/fastdfs-nginx-module-master/src(位置看自己将解压到哪里)
里面的mod_fastdfs.conf复制到/etc/fdfs/里面

1.更改tracker_server的IP如:
tracker_server=192.168.1.1:22122
2.更改store_path0这个要与storaged的配置一致,如:
store_path0=/home/liuli/fastdfs
重新启动Nginx
将FastDFS配置目录下的2个文件复制到/etc/fdfs目录下:

cp /usr/local/fastdfs /conf/http.conf /etc/fdfs/
cp/usr/local/fastdfs/conf/mime.types /etc/fdfs/

命令:
停止nginx

/usr/local/nginx/sbin/nginx -s stop

启动nginx

/usr/local/nginx/sbin/nginx

注意:要实现HTTP下载必须要求Nginx和fastdfs-nginx-module结合起来