一、准备环境

准备如下 tar 包:

|
-|
fastdfs-6.06.tar.gz|
libfastcommon-1.0.43.tar.gz|
fastdfs-nginx-module-1.22.tar.gz|
nginx-1.17.7.tar.gz|

下载地址:

fastdfs-nginx-module,libfastcommon,fastdfs

nginx地址

1、使用 wget 命令下载压缩包,如果没有 wget 命令使用 yum 命令安装

yum install wget

2、下载 fastdfs

wget -c "https://github.com/happyfish100/fastdfs/archive/V6.06.tar.gz" \
-O fastdfs-6.06.tar.gz

3、下载 libfastcommon

wget -c "https://github.com/happyfish100/libfastcommon/archive/V1.0.43.tar.gz" \
-O libfastcommon-1.0.43.tar.gz

4、下载 fastdfs-nginx-module

wget -c "https://github.com/happyfish100/fastdfs-nginx-module/archive/V1.22.tar.gz" \
-O fastdfs-nginx-module-1.22.tar.gz

5、下载 nginx

wget -c http://nginx.org/download/nginx-1.17.7.tar.gz

6、安装编译工具及库文件

yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel

7、测试环境关闭防火墙

systemctl stop firewalld.service

8、开机禁用防火墙

systemctl disable firewalld.service

9、查看防火墙状态

firewall-cmd --state

二、解压并编译安装

1、解压下载好的包

tar -zxvf fastdfs-6.06.tar.gz
tar -zxvf fastdfs-nginx-module-1.22.tar.gz
tar -zxvf libfastcommon-1.0.43.tar.gz
tar -zxvf nginx-1.17.7.tar.gz

2、编译安装

2.1、编译安装 libfastcommon

1、进入解压后的目录

cd /root/download/libfastcommon-1.0.43

2、编译安装

./make.sh && ./make.sh install

3、检查

ls /usr/lib64|grep libfastcommon
ls /usr/lib|grep libfastcommon

出现libfastcommon.so即成功

2.2、编译安装 fastdfs

1、进入解压后的目录

cd /root/download/fastdfs-6.06

2、编译安装

./make.sh && ./make.sh install

3、检查

ls /usr/bin|grep fdfs

4、启用配置文件

cd /etc/fdfs/

cp storage.conf.sample storage.conf

cp client.conf.sample client.conf

cp tracker.conf.sample tracker.conf

mkdir -p /fastdfs/tracker

5、修改 tracker.conf 文件

vi /etc/fdfs/tracker.conf

base_path = /fastdfs/tracker

6、启动 tracker 服务

/etc/init.d/fdfs_trackerd start

7、检查服务是否启动

ps -ef|grep fdfs`

8、修改 storage.conf 文件

vi /etc/fdfs/storage.conf

base_path = /fastdfs/storage store_path0 = /fastdfs/storage
tracker_server = 192.168.0.154:22122
http.server_port = 80

9、创建目录

mkdir -p /fastdfs/storage

10、启动 storage 服务

/etc/init.d/fdfs_storaged start

11、设置开机启动

vi /etc/rc.d/rc.local

加入配置

/etc/init.d/fdfs_trackerd start
/etc/init.d/fdfs_storaged start

12、编辑 client.conf 文件

vi /etc/fdfs/client.conf 

修改

base_path=/fastdfs/tracker
tracker_server=192.168.0.154:22122

2.3、安装 nginx 和 fastdfs-nginx-module

1、安装pcre

yum -y install pcre pcre-devel

2、进入解压目录

cd /root/download/nginx-1.17.7

3、添加 http_stub_status_module 模块

./configure --prefix=/usr/local/nginx --with-http_stub_status_module

4、进入 /root/download/fastdfs-nginx-module-1.22/src/

cd /root/download/fastdfs-nginx-module-1.22/src/

5、编辑配置文件

vi config

6、将config文件中的/usr/local替换成/usr

:%s+/usr/local+/usr

7、进入 nginx 解压目录

cd /root/download/nginx-1.17.7

8、添加fastdfs-nginx-module

./configure --add-module=/root/download/fastdfs-nginx-module-1.22/src/

9、编译安装

make && make install

10、复制并修改fastdfs-ngin-module中的配置文件

cp /root/download/fastdfs-nginx-module-1.22/src/mod_fastdfs.conf /etc/fdfs/
vi /etc/fdfs/mod_fastdfs.conf

修改配置

connect_timeout=10
tracker_server=192.168.0.154:22122
url_have_group_name = true
store_path0=/fastdfs/storage

11、进入fastdfd源码conf目录

cd /root/download/fastdfs-6.06/conf/

11、将http.conf,mime.types两个文件拷贝到/etc/fdfs/目录下

cp http.conf mime.types /etc/fdfs/

12、创建一个软连接,在/fastdfs/storage文件存储目录下创建软连接,将其链接到实际存放数据 的目录

ln -s /fastdfs/storage/data/ /fastdfs/storage/data/M00

13、编辑 nginx 配置

vi /usr/local/nginx/conf/nginx.conf

修改配置

server {
    listen       80;
    server_name  192.168.0.154;
    location ~/group([0-9])/M00 {
            root  /fastdfs/storage/data;
            ngx_fastdfs_module;
    }
}

14、启动 nginx

/usr/local/nginx/sbin/nginx

三、测试

1、下载测试图片到本地

wget -c "https://gss0.baidu.com/-vo3dSag_xI4khGko9WTAnF6hhy/zhidao/wh%3D600%2C800/sign=0f6379cdd8ca7bcb7d2ecf298e39475b/42a98226cffc1e17f7efcc3f4590f603738de968.jpg" -O boy.jpg

2、上传测试图片

/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /root/download/boy.jpg

得到返回文件名

group1/M00/00/00/wKgAml4RxbyARj9lAACxR4LEYRg912.jpg

与ip拼接:http://192.168.0.154/group1/M00/00/00/wKgAml4RxbyARj9lAACxR4LEYRg912.jpg

版权声明:本文为AIThink原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/AIThink/p/12157285.html