FastDFS 分布式的文件存储环境搭建
FastDFS 分布式的文件存储环境搭建在Linux CentOS 6.5 环境下搭建FastDFS集群环境步骤:注意,因为搭建此环境可能会多次反复操作,所以最好把基本软件存储到挂载硬盘中。1. 相关软件包FastDFS:http://sourceforge.net/projects/fastdfs/files/此处我们使用FastDFS_v5.02.tar.gz版本libfa
FastDFS 分布式的文件存储环境搭建
FastDFS环境安装包地址:http://download.csdn.net/detail/rzg813/9273935 (包含6个)
在Linux CentOS 6.5 环境下搭建FastDFS集群环境步骤:
注意,因为搭建此环境可能会多次反复操作,所以最好把基本软件存储到挂载硬盘中。
1. 相关软件包
FastDFS:http://sourceforge.net/projects/fastdfs/files/ 此处我们使用FastDFS_v5.02.tar.gz版本
libfastcommon:https://github.com/happyfish100/libfastcommon 可以使用git clone 到服务器
nginx:此处使用nginx-1.8.0.tar.gz
fastdfs-nginx-module:此处fastdfs-nginx-module_v1.16.tar.gz
nginx的依赖包:pcre-8.36.tar.gz、zlib-1.2.8.tar.gz
- 挂载硬盘命令
##挂载硬盘
mount /dev/xvdb /wcnm
- 拷贝文件
##拷贝文件
//此目录为挂载硬盘的软件存储目录
cd /wcnm/soft_backup
//git clone 到本地的文件
cp -rf libfastcommon /usr/src/
tar zxvf FastDFS_v5.02.tar.gz -C /usr/src/
tar zxvf nginx-1.8.0.tar.gz -C /usr/src/
tar zxvf fastdfs-nginx-module_v1.16.tar.gz -C /usr/src/
tar zxvf pcre-8.36.tar.gz -C /usr/src/
tar zxvf zlib-1.2.8.tar.gz -C /usr/src/
其他命令是解压并拷贝文件到/usr/src/ 目录
- 安装libfastcommon
cd /usr/src/libfastcommon
sh make.sh
sh make.sh install
##设置软链接
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
- 安装FastDFS_5.02
cd /usr/src/FastDFS
sh make.sh
sh make.sh install
##检查是否安装成功
cd /etc/fdfs
##创建文件存储目录:
mkdir /wcnm/storage
##创建tracker的数据文件和日志目录
mkdir /home/fdfs/tracker
##创建storage的数据文件和日志目录
mkdir /home/fdfs/storage
- 配置目录下的tracker.conf,设置相关的信息并保存。
vim /etc/fdfs/tracker.conf
#修改如下内容:
#启用配置文件,设置为false表示启用
disabled=false
#设置tracker的端口号
port=22122
#设置tracker的数据文件和日志目录(目录需要预先创建)
base_path=/home/fdfs/tracker
#设置http端口号
http.server_port=8080
启动tracker,确认启动是否成功,查看端口22122是否开始监听
/usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
netstat -apn | grep fdfs
查看启动日志:
cat /home/fdfs/tracker/logs/*.log
- 安装Storage
###编辑配置文件目录下的storage.conf,设置相关的信息并保存
#启用配置文件
disabled=false
#组名,根据实际情况修改
group_name=group1
#设置storage的端口号
port=23000
#设置storage的数据文件和日志目录(目录需要预先创建)
base_path=/fdfs/storage
#存储路径个数,需要和store_path个数匹配
store_path_count=1
#存储路径
store_path0=/fdfs/storage
#tracker服务器的IP地址和端口号
#集群配置则把tracker服务器的IP地址和端口号逐一列出
tracker_server=10.116.25.240:22122
tracker_server=192.168.7.202:22122
#设置http端口号
http.server_port=8080
##启动storage,确认启动是否成功,查看端口23000是否开始监听
/usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf restart
netstat -apn | grep fdfs
查看启动日志:
cat /home/fdfs/storage/logs/*.log
确认启动storage后,可以运行fdfs_monitor查看storage服务器是否已登记到tracker服务器
/usr/local/bin/fdfs_monitor /etc/fdfs/storage.conf
netstat -apn | grep fdfs
- 安装Storage上对应的Nginx
下载依赖:
http://sourceforge.net/projects/pcre/files/pcre/8.36/pcre-8.36.tar.gz/download
http://www.zlib.net/
创建nginx的安装目录
将代码包和插件(nginx-1.7.7、fastdfs-nginx-module_v1.16、zlib-1.2.8、pcre-8.36)复制/usr/local/src内,然后使用tar命令解压
mkdir /usr/local/nginx_storage
切换到nginx解压目录,运行./configure进行安装前的设置
./configure --prefix=/usr/local/nginx --add-module=/usr/src/fastdfs-nginx-module/src --with-pcre=/usr/src/pcre-8.36/ --with-zlib=/usr/src/zlib-1.2.8
运行make进行编译,确保编译成功
make
运行make install进行安装
make install
将FastDFS的nginx插件模块的配置文件copy到FastDFS配置文件目录
cp /usr/src/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
9. 编辑/usr/local/nginx/conf配置文件目录下的nginx.conf,添加storage存储目录信息、
将server段中的listen端口号修改为8080
listen 8080;
在server段中添加:
//配置一个时,/group1/M00
//多个时如下:
location /group[1-3]/M00 {
root /fdfs/storage/data;
ngx_fastdfs_module;
}
编辑/etc/fdfs配置文件目录下的mod_fastdfs.conf,设置storage信息并保存。
一般只需要改动以下几个参数
base_path=/wcnm/storage #保存日志目录
tracker_server=10.116.25.240:22122 #tracker服务器的IP地址以及端口号
//多台服务器配置多个
##tracker_server=192.168.7.202:22122 #tracker服务器的IP地址以及端口号
storage_server_port=23000 #storage服务器的端口号
group_name=group1 #当前服务器的group名
url_have_group_name = true #文件url中是否有group名
store_path_count=1 #存储路径个数,需要和store_path个数匹配
store_path0=/wcnm/storage #存储路径
http.need_find_content_type=true #从文件扩展名查找文件类型(nginx时为true)
group_count = 1 #设置组的个数
在末尾增加分组的具体信息:
[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/wcnm/storage
建立M00至存储目录的符号连接
ln -s /wcnm/storage/data /wcnm/storage/data/M00
启动nginx,确认是否成功
/usr/local/nginx/sbin/nginx
- 测试
此处测试是使用fastdfs自带的客户端进行测试
配置/etc/fdfs/client.conf文件,修改以下参数
#日志存放路径
base_path=/home/fdfs/tracker
#tracker服务器IP地址和端口号
##此ip可以是公网ip 也可以局域网ip
tracker_server=10.116.25.240:22122
#tracker服务器的http端口号
http.tracker_server_port=8080
测试命令(图片abc.jpg在服务器):
/usr/local/bin/fdfs_upload_file /etc/fdfs/client.conf /home/abc.jpg
- 按上面配置完成后不能上传图,需要开启相应的端口:
iptables -A INPUT -p tcp --dport 22122 -j ACCEPT
/etc/rc.d/init.d/iptables save
/etc/rc.d/init.d/iptables restart
- 重新启动配置的服务
重启tracker
/usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
重启storage
/usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf restart
/usr/local/nginx/sbin/nginx
nginx重启:
cd /usr/local/nginx/sbin/
./nginx -s reload
浏览器访问
常用命令:
netstat -pan|grep 22122
netstat -an | grep 22122
netstat -anp 显示系统端口使用情况
nc -lp 22122 &
注:
按上面配置完成后,即可使用代码上传文件!
此时重启服务器后,部分服务则因为没有启动而上传文件失败!
因此需要添加开机启动!
更多推荐
所有评论(0)