在Ubuntu下安装FastDFS
1.安装gcc环境
FastDFS 是 C 语言开发所以需要gcc环境
sudo apt-get install gcc
2.安装 libevent
FastDFS 依赖 libevent 库,需要安装:
sudo apt-get install libevent
3.安装Git
fastdfs依赖libfastcommon,需要从github上clone到本地编译安装。因此首先需要安装git。
apt-get install git
3.克隆libfastcommon库
libfastcommon 是 FastDFS 官方提供的,libfastcommon 包含了 FastDFS 运行所需
要的一些基础库。
git clone https://github.com/happyfish100/libfastcommon.git
cd libfastcommon/
./make.sh #编译
./make.sh install #安装
注意:libfastcommon 安装好后会自动将库文件拷贝至/usr/lib64 下,由于 FastDFS 程
序引用 usr/lib 目录所以需要将/usr/lib64 下的库文件拷贝至/usr/lib 下。
export LD_LIBRARY_PATH=/usr/lib/
ln -s /usr/lib/libfastcommon.so /usr/local/lib/libfastcommon.so
4.安装FastDFS
为什么将压缩包放到/usr/local/src?
惯例,大家都统一放一个地方,方便查找
所以libfastcommon推荐大家也下载在/usr/local/src
root@LAPTOP-2OT43UL7:~/libfastcommon# cd /usr/local/src
root@LAPTOP-2OT43UL7:/usr/local/src# git clone https://github.com/retamia/fastdfs.git --depth 1 #--depth 1 防止文件过大下不下来
root@LAPTOP-2OT43UL7:/usr/local/src# cd fastdfs
root@LAPTOP-2OT43UL7:/usr/local/src/fastdfs# ./make.sh #编译
root@LAPTOP-2OT43UL7:/usr/local/src/fastdfs# ./make.sh install #拷贝头文件和库文件到系统目录可能要是用sudo
安装时候出现的信息
root@LAPTOP-2OT43UL7:/usr/local/src/fastdfs# ./make.sh install
mkdir -p /usr/bin #-p xx/yy的好处就是一次可以创建多级文件夹,若xx文件夹不存在,则先创建xx文件夹,然后在xx文件夹下创建yy文件夹
mkdir -p /etc/fdfs
cp -f fdfs_trackerd /usr/bin #-f强制复制
if [ ! -f /etc/fdfs/tracker.conf.sample ]; then cp -f ../conf/tracker.conf /etc/fdfs/tracker.conf.sample; fi
if [ ! -f /etc/fdfs/storage_ids.conf.sample ]; then cp -f ../conf/storage_ids.conf /etc/fdfs/storage_ids.conf.sample; fi
mkdir -p /usr/bin
mkdir -p /etc/fdfs
cp -f fdfs_storaged /usr/bin
if [ ! -f /etc/fdfs/storage.conf.sample ]; then cp -f ../conf/storage.conf /etc/fdfs/storage.conf.sample; fi
mkdir -p /usr/bin
mkdir -p /etc/fdfs
mkdir -p /usr/lib64
mkdir -p /usr/lib
cp -f fdfs_monitor fdfs_test fdfs_test1 fdfs_crc32 fdfs_upload_file fdfs_download_file fdfs_delete_file fdfs_file_info fdfs_appender_test fdfs_appender_test1 fdfs_append_file fdfs_upload_appender /usr/bin
if [ 0 -eq 1 ]; then cp -f libfdfsclient.a /usr/lib64; cp -f libfdfsclient.a /usr/lib/;fi
if [ 1 -eq 1 ]; then cp -f libfdfsclient.so /usr/lib64; cp -f libfdfsclient.so /usr/lib/;fi
mkdir -p /usr/include/fastdfs
将配置文件拷贝到etc(包含很多文件.许多网络配置文件)中
cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf #tracker服务器需要拷贝该文件
cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf #storage服务器需要拷贝该文件
cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf #客户端配置
cp /usr/local/src/fastdfs/conf/http.conf /etc/fdfs/ #如果需要提供http访问的需要拷贝该文件,storage服务器和tracker服务器都需要拷贝
cp /usr/local/src/fastdfs/conf/mime.types /etc/fdfs/ #同上
5.配置
5.1.tracker服务器配置
端口:port=22122
存储策略:store_lookup= 取值范围:0(轮询向storage存储文件)、1(指定具体的group)、2负载均衡,选择空闲的storage存储 指定具体的group:store_group= 如果store_lookup设置为1则这里必须指定一个具体的group。
tracker 基础目录:base_path=/home/fastdfs,tracker在运行时会向此目录存储storage的管理数据。
root@LAPTOP-2OT43UL7:/usr/local/src# cd /etc/fdfs
root@LAPTOP-2OT43UL7:/etc/fdfs# ll
total 76
drwxr-xr-x 1 root root 4096 Jul 29 12:35 ./
drwxr-xr-x 1 root root 4096 Jul 29 12:33 ../
-rw-r--r-- 1 root root 1461 Jul 29 12:35 client.conf
-rw-r--r-- 1 root root 1461 Jul 29 12:33 client.conf.sample
-rw-r--r-- 1 root root 955 Jul 29 12:35 http.conf
-rw-r--r-- 1 root root 31172 Jul 29 12:35 mime.types
-rw-r--r-- 1 root root 7978 Jul 29 12:34 storage.conf
-rw-r--r-- 1 root root 7978 Jul 29 12:33 storage.conf.sample
-rw-r--r-- 1 root root 105 Jul 29 12:33 storage_ids.conf.sample
-rw-r--r-- 1 root root 7441 Jul 29 12:34 tracker.conf
-rw-r--r-- 1 root root 7441 Jul 29 12:33 tracker.conf.sample
root@LAPTOP-2OT43UL7:/etc/fdfs# vi tracker.conf # a 修改 /查找 esc 退出修改还在查找 :wq 保存并退出
5.2.tracker服务器配置
组名:group_name=group1
端口:port=23000
向tracker心跳间隔(秒):heart_beat_interval=30
storage基础目录:base_path=/home/fastdfs
磁盘存储目录,可定义多个store_path:
store_path0=/home/fastdfs/fdfs_storage (M00)此目录下存储上传的文件,在/home/fastdfs/fdfs_storage/data下 store_path1=...
...
上报tracker的地址:tracker_server=192.168.101.64:22122
如果有多个tracker则配置多个tracker,
比如:
tracker_server=192.168.101.64:22122
tracker_server=192.168.101.65:22122
6.服务
6.1启动/重启/停止服务
tracker
/etc/init.d/fdfs_trackerd start
/etc/init.d/fdfs_trackerd restart
/etc/init.d/fdfs_trackerd stop
chkconfig fdfs_trackerd on # 自启动
storage
/etc/init.d/fdfs_storaged start
/etc/init.d/fdfs_storaged restart
/etc/init.d/fdfs_storaged stop
chkconfig fdfs_storaged on # 自启动
6.2查看是否启动成功
root@LAPTOP-2OT43UL7:/usr/bin# ps -ef|grep fdfs
root 775 1 0 14:03 ? 00:00:00 /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
root 787 1 0 14:07 ? 00:00:00 /usr/bin/fdfs_storaged /etc/fdfs/storage.conf
root 789 28 0 14:07 tty1 00:00:00 grep --color=auto fdfs