1. 必要安装包下载地址
libfastcommon 1.0.7 | wget https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gz |
fastdfs-nginx-module_v1.16 | wget http://jaist.dl.sourceforge.net/project/fastdfs/FastDFS%20Nginx%20Module%20Source%20Code/fastdfs-nginx-module_v1.16.tar.gz |
fastdfs 5.05 | wget https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz |
nginx 1.8.0 | wget http://nginx.org/download/nginx-1.8.0.tar.gz |
2. 安装gcc编译环境
由于FastDFS是C语言实现的,不同的Linux系统的环境都不一样,没有通用的安装包可以用,因此下载得到的是源代码,需要自己手动在系统下编译,
因此需要安装gcc编译工具
yum install gcc-c++
3. 安装libevent
这个是FastDFS运行时依赖的库(这个如果安装了桌面的话就不用安装了,因为在安装桌面的时候就已经安装好了)
yum install libevent
4. 安装libfastcommon
我先创建一个文件夹用来放置需要用到的安装包
cd package (下载的压缩包会下载到这个目录下)
1)将libfastcommon解压到/usr/local目录下
tar -zxvf V1.0.7.tar.gz -C /usr/local/
2)切换到libfastcommon-1.0.7目录下 进行编译安装
cd /usr/local/libfastcommon-1.0.7/
进行编译
./make.sh
进行安装
./make.sh install
3) libfastcommon安装好后会在/usr/lib64 目录下生成 libfastcommon.so 库文件
但是FastDFS引用/usr/lib目录下的文件 因此需要拷贝一份到/usr/lib下
cp /usr/lib64/libfastcommon.so /usr/lib
5. 安装tracker
1)将fastdfs解压到/usr/local目录下
tar -zxvf V5.05.tar.gz -C /usr/local
2)将fastdfs-5.05改名为FastDFS(改不改无所谓,个人喜欢...)
mv fastdfs-5.05 FastDFS
3)切换到FastDFS目录下进行编译安装(没改名字的就是切换到fastdfs-5.05...)
cd /usr/local/FastDFS/
编译
./make.sh
![](https://i-blog.csdnimg.cn/blog_migrate/4fdd2281c633df0caaa14bd0de0c70bc.png)
前面会有一两个warnning 别怕 继续走
安装
./make.sh install
4)将安装目录下的conf目录下的所有文件拷贝一份到/etc/fdfs下
cp /usr/local/FastDFS/conf/* /etc/fdfs
切换到/etc/fdfs目录下
修改tracker.conf
vim tracker.conf
修改的地方
base_path=/home/yuqing/fastdfs ==》 base_path=/home/fastdfs
http.server_port=8080 ==》 http.server_port=80
5)创建/home/fastdfs目录(与配置的base_path一样)
mkdir /home/fastdfs
6)测试启动tracker
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
查看tracker服务
ps aux | grep tracker
![](https://i-blog.csdnimg.cn/blog_migrate/d6d4daf5c75b5181d89d446f54697b96.png)
此时会在/home/fastdfs下生成两个目录 data logs
6. 配置Storage
1)切换到目录/etc/fdfs下
cd /etc/fdf
2)修改storage.conf文件
vim storage.con
![](https://i-blog.csdnimg.cn/blog_migrate/672c24b7ab0a1b5884793580f40b4c0c.png)
需要修改的地方
base_path=/home/yuqing/fastdfs ==》 base_path=/home/fastdfs
store_path0=/home/yuqing/fastdfs ==》 store_path0=/home/fdfs_storage
如果有多个磁盘挂载
那就配置多个路径
store_path1=......
store_path2=......
...
store_pathn=.....
tracker_server=192.168.172.20:22122 前面的ip改为自己机子的ip
如果有多个tracker那就配置多个呗(反正我只有一个)
tracker_server=xxx.xxx.xxx.xxx:22122
http.server_port=8080 ==》 http.server_port=88
3)创建/home/fdfs_storage目录
mkdir /home/fdfs_storage
4)启动storage服务
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
7. 修改client.conf文件
![](https://i-blog.csdnimg.cn/blog_migrate/8963ec342f8778ef3a874970e4507685.png)
base_path=/homeyuqing/fastdfs ==》 base_path=/home/fastdf
tracker_server=192.168.25.130:22122 还是一样的 前面的ip改为自己的ip
测试一下。。。
弄一张图片 我放置的目录是/home/test.jpg 进行上传测试
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /home/test.jpg
这样就成功了 说明前面的配置都没有问题
目前还不能通过http访问这张图片,虽然有地址。。。
因为FastDFS只是解决了图片保存的问题 访问图片还需要Nginx才行
先记录一下url http://192.168.25.130/group1/M00/00/00/wKgZglszMWuAekqHAAH8o1WabsM723_big.jpg
8. 安装nginx
1)解压fastdfs-nginx-module_v1.16.tar.gz到/usr/local目录下
tar -zxvf fastdfs-nginx-module_v1.16.tar.gz -C /usr/local/
2)切换到解压后的src目录下
cd fastdfs-nginx-module/src
3)修改config文件(把/usr/local改为/usr/)
修改前
修改后
4)将fastdfs-nginx-module/src下的mod_fastdfs.conf拷贝至/etc/fdfs/下
![](https://i-blog.csdnimg.cn/blog_migrate/7002517de28d277f2d68970b76ed53c1.png)
cp mod_fastdfs.conf /etc/fdfs/
5)修改mod_fastdfs.conf的内容
base_path=/home/yuqing/fastdfs ==》 base_path=/home/fastdfs
tracker_server=tarcker:22122 ==》 tracker_server=192.168.25.130:22122
url_have_group_name=false ==》 url_have_group_name=true
store_path0=/home/yuqing/fastdfs ==》 store_path0=/home/fdfs_storage
6)将cp /usr/lib64/libfdfsclient.so 复制到 /usr/lib/
cp /usr/lib64/libfdfsclient.so /usr/lib/
7)创建client目录
mkdir -p /var/temp/nginx/client
8)将nginx-1.8.0.tar.gz解压到/usr/local目录下
tar -zxvf nginx-1.8.0.tar.gz -C /usr/local
![](https://i-blog.csdnimg.cn/blog_migrate/665e94d97714a87f619ad1a5c591bb89.png)
9)安装nginx依赖库
yum install pcre
yum install pcre-devel
yum install zlib
yum install zlib-devel
yum install openssl
yum install openssl-devel
10)进入nginx安装目录
cd /usr/local/nginx-1.8.0/
11)加入模块命令配置
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi \
--add-module=/usr/local/fastdfs-nginx-module/src
最后一段是安装fastdfs-nginx-modul的src目录 根据实际情况决定
12)编译安装
make && make install
13)拷贝配置文件
拷贝这两个文件到/etc/fdfs下
cp http.conf mime.types /etc/fdfs/
14)修改配置文件
mkdir /usr/local/nginx/logs # 创建logs目录
cd /usr/local/nginx/conf/
vim nginx.conf
location /group1/M00/:group1为nginx 服务FastDFS的分组名称,M00是FastDFS自动生成编号,对应store_path0=/home/fdfs_storage,如果FastDFS定义store_path1,这里就是M01
15)启动nginx
cd /usr/local/nginx/sbin/
./nginx
16)访问图片
nginx启动好了以后就可以访问图片了
这里需要把防火墙关一下
systemctl stop firewalld.service
![](https://i-blog.csdnimg.cn/blog_migrate/868739086bd66c3afe8fab7784ec5c52.png)