# 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 秒傳功能