利用FastDFS+Nginx搭建图片服务器(二)

搭建之前,先来张效果图:


效果图

但我们没有那么多服务器,怎么办呢?本着学习的态度,我们可以搭建一个最简易的,Tracker需要一个集群,我们可以先给一台,Storage集群,我们只配置一组,一组中我们只要一个主服务器,先不配置从服务器。

这样就需要两台Linux服务器,Tracker和Storage两个可以先放到一台机器上,所以最简易的结构应该是一台Linux服务器,配置一个Tracker和一个Storage即可。

好的,做好,开船!!!!!

一、下载

        tracker和storage使用相同的安装包,下载地址:http://sourceforge.net/projects/FastDFS/或https://github.com/happyfish100/FastDFS(推荐)

我们当前使用的是:FastDFS_v5.05.tar.gz

下载地址:FastDFS_v5.05.tar.gz

二、FastDFS安装环境

FastDFS是C语言开发,建议在linux上运行,本教程使用Centos6.4作为安装环境。

1、安装FastDFS需要先将官网下载的源码进行编译,编译依赖gcc环境

 如果没有gcc环境,需要安装gcc:

yum install gcc-c++

运行yum命令必须联网才行

2、安装libevent

FastDFS依赖libevent库,需要安装:

yum -y install libevent

3、安装libfastcommon

libfastcommon是FastDFS官方提供的,libfastcommon包含了FastDFS运行所需要的一些基础库。

下载链接: http://pan.baidu.com/s/1bpeYGWZ 密码: bqp7

将libfastcommonV1.0.7.tar.gz拷贝至/usr/local/下(此处省略了通过SSH工具连接Linux,并上传文件,拷贝文件这么个过程)

cd /usr/local

tar -zxvflibfastcommonV1.0.7.tar.gz

cd libfastcommon-1.0.7

./make.sh

./make.sh install

该过程主要是将libfastcommon解压、编译、并安装。

注意:libfastcommon安装好后会自动将库文件拷贝至/usr/lib64下,由于FastDFS程序引用usr/lib目录所以需要将/usr/lib64下的库文件拷贝至/usr/lib下,只需要将libfastcommon.so  拷贝过去即可,不需要全部拷贝,更不能全部移动,这样系统彻底歇菜。

三、安装开始

1、安装Tracker

将FastDFS_v5.05.tar.gz拷贝至/usr/local/下

tar -zxvf   FastDFS_v5.05.tar.gz

cd FastDFS

./make.sh

./make.sh install

安装成功将安装目录下的conf下的文件拷贝到/etc/fdfs/下。

2、配置

安装成功后进入/etc/fdfs目录:

修改tracker.conf

vi tracker.conf

base_path=/home/yuqing/FastDFS

改为:

base_path=/home/fastdfs


3、启动

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

启动的日志显示先停止5619进程(实际环境不是5619)再启动,如下图:


注意:如果没有显示上图要注意是否正常停止原有进程。

设置开机自动启动。

[root@localhost fdfs]#vim /etc/rc.d/rc.local

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

4、Storage安装、配置

如果Storage安装在了一台全新的Linux服务器上,需要将之前的步骤二再来一遍(安装环境)

但是我们目前是在一台电脑上安装,所以可以跳过。

接下来需要在Storage上进行配置

进入/etc/fdfs目录,配置storage.conf。

修改storage.conf

vi   storage.conf

group_name=group1

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

store_path0=/home/yuqing/FastDFS改为:store_path0=/home/fastdfs/fdfs_storage

如果在/home下没有fastdfs,请先创建fastdfs文件夹,fastdfs下没有fdfs_storage,需要实现创建该文件夹。

tracker_server=192.168.25.129:22122#配置tracker服务器:IP

5、启动storage

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

注意:如果没有显示上图要注意是否正常停止原有进程。

设置开机自动启动。

[root@storage1 FastDFS]#vim /etc/rc.d/rc.local

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

6、上传图片测试

1.1.1通过fdfs_test程序

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

修改/etc/fdfs/client.conf

base_path=/home/fastdfs

tracker_server=192.168.25.129:22122

使用格式:

/usr/bin/fdfs_test   客户端配置文件地址   upload   上传文件

比如将/home下的图片上传到FastDFS中:

/usr/bin/fdfs_test /etc/fdfs/client.conf upload /home/admin/hehe.jpg

如果出现如下界面,表示上传成功。

现在由于只是成功了一部分,因为图片是可以上传了,但是没办法访问,为什么呢?

因为就没有http服务器,怎么访问啊?????

四、FastDFS和nginx整合

我们需要通过Nginx来搭建一个http服务器才行,那步骤是不是和之前我写的《利用Nginx当http服务器》一样呢?略有不同,所有最后建议按照如下步骤搭建。

1、在tracker上安装nginx

在每个tracker上安装nginx,的主要目的是做负载均衡及实现高可用。如果只有一台tracker服务器可以不配置nginx

所以此处不用配置该Nginx

2、在Storage上安装nginx

     1)FastDFS-nginx-module

将FastDFS-nginx-module_v1.16.tar.gz传至/usr/local/下

cd /usr/local

tar -zxvfFastDFS-nginx-module_v1.16.tar.gz

cdFastDFS-nginx-module/src

修改config文件将/usr/local/路径改为/usr/


将FastDFS-nginx-module/src下的mod_FastDFS.conf拷贝至/etc/fdfs/下

cp mod_FastDFS.conf /etc/fdfs/

并修改mod_FastDFS.conf的内容:

vi /etc/fdfs/mod_FastDFS.

base_path=/home/fastdfs

tracker_server=192.168.25.129:22122

url_have_group_name=true    #url中包含group名称

store_path0=/home/fastdfs/fdfs_storage      #指定文件存储路径

将libfdfsclient.so拷贝至/usr/lib下

cp /usr/lib64/libfdfsclient.so    /usr/lib/

创建nginx/client目录,为Nginx的安装做准备

mkdir -p /var/temp/nginx/client

五、Nginx的安装

将Nginx源码包上传到服务器,并解压,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

然后就可以编译Nginx了,首先Nginx没有makefile文件,需要手动生成一个,生成时此处还需要注册一个fastdfs模块(留意命令最后一行)

进入到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=/usr/local/fastdfs-nginx-module/src

该命令是一个命令,不能一个个粘贴,统一粘贴,千万需要注意路径问题,没有的文件夹一定要先创建。

执行完毕后会生成一个MakeFile文件,然后就就可在该路径下进行编译和安装了

编译:make

安装:make install

六、Nginx配置

在/usr/local/nginx/conf下,找到nginx.conf,新增如下内容:

server {

     listen      80;

     server_name  192.168.25.129;

     location /group1/M00/{

                  #root /home/fastdfs/fdfs_storage/data;

                 ngx_fastdfs_module;

      }

}

保存,重启Nginx。

先访问http://192.168.25.129是否可访问。

切记:请关闭Linux防火墙,或者将80端口放开,要不然一切都不起作用。

再访问之前的url是否可以访问到该图片,如果访问成功,说明搭建完成。

http://192.168.25.129/group1/M00/00/00/wKgZgVl2Lx6AJGGNAAHY4S_5XfM096_big.jpg


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

推荐阅读更多精彩内容