在CentOS上搭建FastDFS+nginx

一、软件下载

  1. fastdfs
  2. libfastcommon
  3. fastdfs-nginx-module
  4. nginx

二、安装fastdfs的tracker部分

A.配置fastdfs环境

1. gcc
yum install gcc-c++
2. libevent:
yum -y install libevent
3. libfastcommon:

  1. 在linux中创建个人文件存放目录(个人习惯,后面配置中用到的/zhanping文件夹都必须与此保持一致)
    cd /
    mkdir /zhanping
    cd /zhanping
    mkdir soft
    mkdir install
  2. 通过SSH Secure File Transfer Client上传libfastcommonV1.0.7.tar.gz到/zhanping/soft目录下
  3. 解压libfastcommonV1.0.7.tar.gz到/zhanping/install目录下
    cd /zhanping/soft
    tar -zxvf libfastcommonV1.0.7.tar.gz -C /zhanping/install
  4. 安装libfastcommon-1.0.7
    cd /zhanping/soft/libfastcommon-1.0.7
    ./make.sh
    ./make.sh install
  5. libfastcommon-1.0.7安装好后会自动将库文件拷贝至/usr/lib64下,由于fastdfs引用usr/lib目录,所以需要将/usr/lib64下的库文件拷贝至/usr/lib下
    cp -r /usr/lib64/libfastcommon.so /usr/lib
B. tracker编译安装
  1. 通过SSH Secure File Transfer Client上传FastDFS_v5.05.tar.gz到/zhanping/soft目录下
  2. 解压FastDFS_v5.05.tar.gz到/zhanping/install目录下
    cd /zhanping/soft
    tar -zxvf FastDFS_v5.05.tar.gz -C /zhanping/install
  3. 编译安装fastdfs
    cd /zhanping/install/FastDFS
    ./make.sh
    ./make.sh install
  4. 安装成功后,将安装目录下的conf下的以下文件拷贝到/etc/fdfs/下
    cp -r /zhanping/install/FastDFS/conf/*.conf /etc/fdfs
    cp -r /zhanping/install/FastDFS/conf/mime.types /etc/fdfs
    conf.png
C、配置fastdfs的tracker部分
  1. 安装成功后进入/etc/fdfs目录
    cd /etc/fdfs
  2. 拷贝一份新的tracker配置文件
    cp tracker.conf.sample tracker.conf
  3. 修改tracker.conf(也可以不配置,使用默认即可)
    vim tracker.conf


base_path=/home/yuqing/fastdfs
改为:
base_path=/home/fastdfs

D、启动fastdfs的tracker部分
  1. 启动tracker
    /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
  2. 设置开机自动启动(选做,不配置的话每次linux启动时则需要手动启动tracker)
    vim /etc/rc.d/rd.local

将运行命令行添加进文件:/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart

三、安装fastdfs的storage部分

!!!注意:如果fastdfs的storage和fastdfs的tracker安装在同一个linux系统上,则以下A、B部分则可以不用做

A.配置fastdfs环境

同fastdfs的tracker部分

B. storage编译安装

同fastdfs的tracker部分

C、配置fastdfs的storage部分
  1. 安装成功后进入/etc/fdfs目录
    cd /etc/fdfs
  2. 拷贝一份新的storage配置文件
    cp storage.conf.sample storage.conf
  3. 修改storage.conf
    vim storage.conf

#【1】.修改storage的base_path路径(选做)
#base_path需要和tracker部分的base_path保持一致,如果有修改过tracker的tracker.conf文件,则做以下修改:
base_path=/home/yuqing/fastdfs 改为:base_path=/home/fastdfs
#【2】.修改storage的资源存放路径(选做)
store_path0=/home/yuqing/fastdfs 改为:store_path0=/home/fastdfs/fdfs_storage
#如果有多个挂载磁盘则定义多个store_path,如下
#store_path1=......
#store_path2=......
#......
#【3】.修改storage的对应的tracker_server的ip地址和端口(必做)
tracker_server=192.168.248.128:22122 #配置tracker服务器:IP (本地ip地址:22122)
#如果有多个则配置多个tracker_server
#tracker_server=......
#tracker_server=......
#......

D、启动fastdfs的storage部分
  1. 启动storage
    /usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
  2. 设置开机自动启动(选做,不配置的话每次linux启动时则需要手动启动tracker)
    vim /etc/rc.d/rd.local

将运行命令行添加进文件:/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart

四、上传文件测试

fastdfs安装成功可通过/usr/bin/fdfs_test测试上传、下载等操作

  1. 修改/etc/fdfs/client.conf
    vim /etc/fdfs/client.conf

#【1】.修改client.conf的base_path路径(选做)
#base_path需要和tracker部分的base_path保持一致,如果有修改过tracker的tracker.conf文件,则做以下修改:
base_path=/home/yuqing/fastdfs 改为:base_path=/home/fastdfs
#【2】.修改client.conf的tracker_server的ip地址和端口(必做)
tracker_server=192.168.248.128:22122

  1. 上传文件

使用格式:
/usr/bin/fdfs_test 客户端配置文件地址 upload 上传文件
比如将/zhanping/resource下的图片上传到fastdfs中:
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /zhanping/resource/download.jpg
上传成功后,终端将会输出类似以下的http文件访问路径:http://192.168.248.128/group1/M00/00/00/wKj4gFlogsuAOFWLAAAh6e61gnc931_big.jpg
对应storage服务器资源存放路径store_path下的:
data/00/00/wKj4gFlogsuAOFWLAAAh6e61gnc931_big.jpg
由于现在还没有和nginx整合无法使用http下载

五、fastdfs整合nginx

A.安装fastdfs-nginx-module
  1. 将从github上面下载的源文件fastdfs-nginx-module-master压缩成.tar.gz格式
  2. 通过SSH Secure File Transfer Client上传fastdfs-nginx-module.tar.gz到/zhanping/soft目录下
  3. 解压fastdfs-nginx-module.tar.gz到/zhanping/install目录下
    cd /zhanping/soft
    tar -zxvf fastdfs-nginx-module.tar.gz -C /zhanping/install
  4. 修改fastdfs-nginx-module/src/下的config文件
    cd /zhanping/install/fastdfs-nginx-module/src
    vim config

usr/local/路径都改为/usr/


module-config.png
  1. 将FastDFS-nginx-module/src下的mod_FastDFS.conf拷贝至/etc/fdfs/下
    cp mod_FastDFS.conf /etc/fdfs/
  2. 修改mod_FastDFS.conf的内容
    vi /etc/fdfs/mod_FastDFS.conf

#【1】.修改storage的base_path路径(选做)
#base_path需要和tracker部分的base_path保持一致,如果有修改过tracker的tracker.conf文件,则做以下修改:
base_path=/home/yuqing/fastdfs 改为:base_path=/home/fastdfs
#【2】.修改mod_FastDFS.conf的tracker_server的ip地址和端口(必做)
tracker_server=192.168.248.128:22122 #配置tracker服务器:IP (本地ip地址:22122)
#如果有多个则配置多个tracker_server
#tracker_server=......
#tracker_server=......
#......
#【3】.修改url_have_group_name=true(必做)
url_have_group_name=true #url中包含group名称
#【4】.指定storage的文件存储路径(选做)
store_path0=/home/yuqing/fastdfs 改为:store_path0=/home/fastdfs/fdfs_storage
#如果有多个挂载磁盘则定义多个store_path,如下
#store_path1=......
#store_path2=......
#......

  1. 将libfdfsclient.so拷贝至/usr/lib下
    cp /usr/lib64/libfdfsclient.so /usr/lib/
B.安装nginx

注意:需要先配置nginx的安装环境
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel

  1. 通过SSH Secure File Transfer Client上传nginx-1.8.0.tar.gz到/zhanping/soft目录下
  2. 解压nginx-1.8.0.tar.gz到/zhanping/install目录下
    cd /zhanping/soft
    tar -zxvfnginx-1.8.0.tar.gz -C /zhanping/install
  3. 创建nginx所需安装目录
    mkdir -p /var/temp/nginx/client
  4. 设置nginx编译参数设置如下:
./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=/zhanping/install/fastdfs-nginx-module/src #注意这里配置的必须是是fastdfs-nginx-module的src目录绝对路径
  1. 编译安装
    make
    make install
  2. 配置/usr/local/nginx/conf/nginx.conf
    vim /usr/local/nginx/conf/nginx.conf
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  localhost;
        location /group1/M00 {
            ngx_fastdfs_module;
        }
    }
}
  1. 重新加载nginx配置文件
    cd /usr/local/nginx/sbin
    ./nginx -s reload
  2. 启动nginx
    cd /usr/local/nginx/sbin
    ./nginx

六、开放Linux的对外访问的端口

  1. 查看端口占用情况
    netstat -apn
    port.png
  2. 开放上图标注端口,例如22122端口:
    /sbin/iptables -I INPUT -p tcp --dport 22122 -j ACCEPT
    /etc/rc.d/init.d/iptables save #将修改永久保存到防火墙中

七、测试fastdfs整合nginx

  1. 再次上传文件
    /usr/bin/fdfs_test /etc/fdfs/client.conf upload /zhanping/resource/downloadimg.jpg

返回http://192.168.248.128/group1/M00/00/00/wKj4gFlogsuAOFWLAAAh6e61gnc931_big.jpg

  1. 通过浏览器访问以上地址,显示:


    uploadimg.png

八、此次紧紧搭建了最简单的fastdfs+nginx,至于集群,嗯……

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,968评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,601评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,220评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,416评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,425评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,144评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,432评论 3 401
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,088评论 0 261
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,586评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,028评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,137评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,783评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,343评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,333评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,559评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,595评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,901评论 2 345

推荐阅读更多精彩内容