【阿里云】【centOS7】FastDFS分布式图片服务器开发环境搭建过程

在linux服务器上自己搭建fastdfs图片服务器。

首先我们要准备的压缩文件:


下载地址:http://sourceforge.net/projects/FastDFS/ 或https://github.com/happyfish100/FastDFS(推荐)

或者上csdn下载区直接搜文件名加后缀即可,很多资源。


【1】gcc编译环境

安装FastDFS需要先将官网下载的源码进行编译,编译依赖gcc环境,没有提前装的话可以执行命令:

yum install gcc-c++

来装gcc环境


【2】安装libevent

FastDFS依赖libevent库,需要安装:

yum -y install libevent


【3】安装libfastcommon

我这里把libfastcommonV1.0.7.tar.gz拷贝至/usr/local/下,

--------我尽量选择最普通的路径,如果是新手的话建议大家跟我一样配置路径,或者选择自己比较熟悉的路径也可以,本文后面的路径都按照此规则-------------------

依次执行命令:

cd /usr/local

tar -zxvf libfastcommonV1.0.7.tar.gz

cd libfastcommon-1.0.7

./make.sh

./make.sh install

注意:libfastcommon安装好后会自动将库文件拷贝至/usr/lib64下,由于FastDFS程序引用usr/lib目录所以需要将/usr/lib64下的库文件拷贝至/usr/lib下

 cp /usr/lib64/libfastcommon.so /usr/lib/


【4】tracker和storage编译安装

将FastDFS_v5.05.tar.gz拷贝至/usr/local/下,依次执行命令:

tar -zxvf FastDFS_v5.05.tar.gz

cd FastDFS

./make.sh

./make.sh install

执行成功后tracker和storage都安装好了,下面分别进行配置:

进入/etc/fdfs目录,会发现有三个范例配置文件


把这三个文件复制一份到当前目录(注意吧文件名中的.sample去掉),然后分别修改:

修改tracker.conf:

vi tracker.conf

base_path=/home/yuqing/FastDFS   

改为:

base_path=/home/fastdfs

按ESC 然后 :wq保存


修改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/fastdfs0

#如果有多个挂载磁盘则定义多个store_path,如下

#store_path1=.....

#store_path2=......
tracker_server=192.168.101.3:22122   #配置tracker服务器:IP

#如果有多个则配置多个tracker

tracker_server=你的服务器公网ip:22122(如192.168.1.1:22122)

退出并保存

下面还有一行配置的端口与nginx的listen端口一致 (后面整合nginx要用,先别改,以后有需要再改)
http.server_port=8888


client.conf 中同样要修改:

base_path=/home/fastdfs

tracker_server=你的服务器公网ip:22122(如192.168.1.1:22122)

下面启动tracker和storage:

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

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

注:如果你也是在阿里云上进行配置,storaged可能会启动失败,因为你可能没有配置云服务器实例安全组,请添加安全组配置,打开22122和23000端口(省事的话也可以直接配打开1/65535 把所有端口都打开,如果你的服务器不是很怕攻击的话)

然后关闭系统防火墙:systemctl stop firewalld.service


启动成功后可以配置开机自动启动:

vim /etc/rc.d/rc.loca

在打开的文件中添加:

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

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

退出保存即可。


----------------------------------------------------------------------------------------------------


到这里我们安装并启动了基本的fastdfs组件,下面进行与nginx的整合。

如果你已经安装了nginx,建议你先把它卸载掉,直接删除nginx安装文件夹即可。

nginx可以再tracker和storage上都安装,

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

我这儿作学习使用,只有一个tracker,因此只配一下storage


【5】fastdfs-nginx-module

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

cd /usr/local

tar -zxvf fastdfs-nginx-module_v1.16.tar.gz

cd fastdfs-nginx-module/src

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



然后有几个文件需要复制一下:

到FastDFS源码目录下(就是上面安装tracker的源码)

我们需要复制两个文件至/etc/fdfs/下

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

将fastdfs-nginx-module/src下的mod_fastdfs.conf拷贝至/etc/fdfs/下

cp mod_FastDFS.conf /etc/fdfs/

并修改mod_fastdfs.conf的内容:

vi /etc/fdfs/mod_fastdfs.conf

base_path=/home/fastdfs

tracker_server=你的公网ip:22122

#tracker_server=同上:22122(多个tracker配置多行)

url_have_group_name=true #url中包含group名称

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

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

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

创建nginx/client目录

mkdir -p /var/temp/nginx/client


【6】nginx安装和添加fastdfs模块

安装nginx环境需要依赖gcc和几个开发包:依次安装,已有的就跳过。

PCRE
PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。
yum install -y pcre pcre-devel
注:pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。
zlib
zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。
yum install -y zlib zlib-devel

openssl
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。
yum install -y openssl openssl-devel


把nginx包放到/usr/local下

tar zxf nginx-1.8.0.tar.gz
使用configure命令创建一makeFile文件。

cd nginx-1.8.0

./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

注意红色部分,add module是添加fastdfs模块,路径写成你的fastdfs-nginx-module源码路径即可


make

make install


然后进入nginx安装文件夹

修改conf/nginx.conf

在server块中添加监听接口

listen 8888; (这里跟之前storage配置的一样)
location /group1/M00 {
root /usr/fastdf0/data;(根storage配置的路径一样) 
ngx_fastdfs_module;
}

退出并保存。

启动nginx:进入nginx/sbin/目录

执行./nginx即可


【测试】

上传:

使用格式:
/usr/bin/fdfs_test 客户端配置文件地址 upload 上传文件

比如将/home下的图片上传到FastDFS中:
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /home/tomcat.png

http://192.168.1.1/group1/M00/00/00/wKhlBVVY2M-AM_9DAAAT7-0xdqM485_big.png就是文件的下载路径。
对应storage服务器上的
/home/fastdfs/fdfs_storage/data/00/00/wKhlBVVY2M-AM_9DAAAT7-0xdqM485_big.png文件。

下载:

访问

访问storage:

http://192.168.1.1:8888/group1/M00/00/00/wKhlBVVY2M-AM_9DAAAT7-0xdqM485_big.png






猜你喜欢

转载自blog.csdn.net/playadota/article/details/78381109