# 1.2 fastDFS安装和使用
##1.2.1 libevent
>老版本的fastDFS是基于libevent写的,但是最新版的fastDFS最终网络IO这部分重新用epoll实现了。
>所以如果是fastDFS是2.0之前,请先安装好libevent环境。
之后就不用了。
##1.2.2 libfastcommon
git下载地址:
https://github.com/happyfish100/libfastcommon.git
```bash
./make.sh
sudo ./make.sh install
```
确认make没有错误后,执行安装,64位系统默认会复制到/usr/lib64下。
这时候需要设置环境变量或者创建软链接
```bash
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
```
##1.2.3 安装fastDFS
下载 FastDFS 源程序,下载地址 http://code.google.com/p/fastdfs/downloads/list ,
也可以用github下载。
https://github.com/happyfish100/fastdfs.git
这里我们下的是V5.05版本。
```bash
tar -zxvf fastdfs-5.05.tar.gz
```
```bash
./make.sh
sudo ./make.sh install
```
确认make没有错误后,执行安装,默认会安装到/usr/bin中,并在/etc/fdfs中添加三个配置文件。
##1.2.4 修改配置文件
首先将三个文件的名字去掉sample,暂时只修改以下几点,先让fastdfs跑起来,其余参数调优的时候再考虑。
也可以考虑将三个文件备份一下。
**tracker.conf 中修改**
```bash
base_path=/usr/fastdfs/tracker #用于存放日志。
```
>注意 确保/usr/fastdfs/tracker 目录存在
**storage.conf 中修改**
```bash
base_path=/usr/fastdfs/storage #用于存放日志。
store_path0=/usr/fastdfs/fastdfs0 #存放数据,若不设置默认为前面那个。
tracker_server=192.168.2.105:22122 #指定tracker服务器地址。不能是127.0.0.1
```
>注意 确保/usr/fastdfs/storage、 /usr/fastdfs/fastdfs0目录存在
**client.conf 中同样要修改**
```bash
base_path=/usr/fastdfs/client #用于存放日志。
tracker_server=192.168.2.105:22122 #指定tracker服务器地址。
```
>注意 确保/usr/fastdfs/client 目录存在
##1.2.5 启动tracker和storage
```bash
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
```
检查进程
```bash
root@ubuntu:~# ps -ef |grep fdfs
root 7819 1 0 15:24 ? 00:00:00 /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
root 8046 1 0 15:36 ? 00:00:01 fdfs_storaged /etc/fdfs/storage.conf start
```
表示启动ok了,若有错误,可以在/usr/fastdfs/tracker/logs 目录下检查日志。
##1.2.6 上传、删除测试
**上传文件:**
使用自带的fdfs_test来测试,使用格式如下:
```bash
fdfs_test /etc/fdfs/client.conf upload abcd.txt
```
```bash
his is FastDFS client test program v5.05
Copyright (C) 2008, Happy Fish / YuQing
FastDFS may be copied only under the terms of the GNU General
Public License V3, which may be found in the FastDFS source kit.
Please visit the FastDFS Home Page http://www.csource.org/
for more detail.
[2016-07-25 13:03:09] DEBUG - base_path=/usr/fastdfs, connect_timeout=30, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=0, g_connection_pool_max_idle_time=3600s, use_storage_id=0, storage server id count: 0
tracker_query_storage_store_list_without_group:
server 1. group_name=, ip_addr=192.168.2.105, port=23000
group_name=group1, ip_addr=192.168.2.105, port=23000
storage_upload_by_filename
group_name=group1, remote_filename=M00/00/00/wKgCaVeVnY2AcveAAAAAFDGtH6s805.txt
source ip address: 192.168.2.105
file timestamp=2016-07-25 13:03:09
file size=20
file crc32=833429419
example file url: http://192.168.2.105/group1/M00/00/00/wKgCaVeVnY2AcveAAAAAFDGtH6s805.txt
storage_upload_slave_by_filename
group_name=group1, remote_filename=M00/00/00/wKgCaVeVnY2AcveAAAAAFDGtH6s805_big.txt
source ip address: 192.168.2.105
file timestamp=2016-07-25 13:03:09
file size=20
file crc32=833429419
example file url: http://192.168.2.105/group1/M00/00/00/wKgCaVeVnY2AcveAAAAAFDGtH6s805_big.txt
```
**删除文件**
```bash
fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/wKgCaVeVnY2AcveAAAAAFDGtH6s805_big.txt
```
可以看到,上传ok了,这里会生成两个文件,这是fastdfs的主/从文件特性,以后再介绍。example file url是不能在浏览器中直接打开的,除非配合nginx使用,这里我不需要了。删除文件需要完整的group_name和remote_filename。
一些其他的指令均在fastdfs/client目录中。
包括指令:
```bash
fdfs_appender_test
fdfs_append_file
fdfs_delete_file
fdfs_file_info
fdfs_storaged
fdfs_test1
fdfs_upload_appender
fdfs_appender_test1
fdfs_crc32
fdfs_download_file
fdfs_monitor
fdfs_test
fdfs_trackerd
fdfs_upload_file
```
- 概要
- 1 分布式存储fastDFS
- 1.1 fastDFS 通用介绍
- 1.2 fastDFS安装和使用
- 1.3 基于fastDFS实现分布式
- 2 缓存数据库redis快速搭建
- 2.1 环境安装
- 2.2 redis数据类型
- 2.3 redis订阅发布模式
- 2.4 redis事务
- 2.5 redis备份
- 3 redis详细攻略
- 3.1 redis简介
- 3.2 redis使用场景
- 3.3 redis基本操作
- 3.4 redis数据类型
- 3.4.1 字符串
- 3.4.2 HASH-字典
- 3.4.3 List-列表
- 3.4.4 Set-集合
- 3.4.5 Sorted Set-有序集合
- 3.4.6 订阅-发布
- 3.4.7 事务
- 3.5 redis配置文件
- 3.6 持久化
- 3.7 redis性能测试
- 3.8 redis-C-API
- 3.9 redis-C++-API
- 3.10 总结与建议
- 4 memcache缓存数据库
- 4.1 什么是memcached
- 4.2 memcached的特征
- 4.3 memcached的内存管理
- 4.4 如何使用memcached
- 4.5 memcached参数详解
- 4.6 memcached安装
- 4.7 memcached-C客户端
- 4.8 memcached-C++客户端
- 5 Nginx
- 6 FastCGI
- 6.1 CGI
- 6.2 FastCGI
- 6.3 Nginx与FastCGI
- 7 Nginx上部署fastDFS
- 8 项目概要
- 8.1 上传文件功能
- 8.2 主界面显示与下载文件功能
- 8.3 注册功能
- 8.4 登陆功能
- 8.5 文件分类功能
- 8.6 个人网盘功能
- 8.8 秒传功能