FastDFS Ubuntu 16.04安装

FastDFS Ubuntu 16.04安装

参考地址

安装依赖库

mkdir /usr/local/src
mkdir /home/dfs/
cd /usr/local/src
sudo apt install git gcc make automake autoconf libtool libpcre3 libpcre3-dev zlib1g-dev openssl libssl-dev

安装libfastcommon


cd /usr/local/src
git clone https://github.com/happyfish100/libfastcommon.git --depth 1

cd libfastcommon/
./make.sh         #编译可执行文件和链接库文件
./make.sh install #拷贝头文件和库文件到系统目录可能要是用sudo

安装FastDFS

cd /usr/local/src
git clone https://github.com/retamia/fastdfs.git --depth 1 #原作者的fastdfs在Mac上编译PHP扩展会编译错误
cd fastdfs
./make.sh         #编译可执行文件和链接库文件
./make.sh install #拷贝头文件和库文件到系统目录可能要是用sudo

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/ #同上

安装FastDFS-Nginx-Module扩展(不需要Http Client的话可以跳过)

cd /usr/local/src
git clone https://github.com/happyfish100/fastdfs-nginx-module.git --depth 1
cp /usr/local/src/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs

安装Nginx(不需要Http Client的话可以跳过)

如果已经安装Nginx,请先卸载以前的Nginx

cd /usr/local/src

sudo apt install wget

wget http://nginx.org/download/nginx-1.15.4.tar.gz #下载nginx压缩包

tar -zxvf nginx-1.15.4.tar.gz #解压

cd nginx-1.15.4/

./configure --add-module=/usr/local/src/fastdfs-nginx-module/src/ #Nginx编译环境设置 添加fastdfs-nginx-module模块

make
make install # 可能需要sudo

部署

以下配置可在单机或多机上进行

tracker服务器配置

vim /etc/fdfs/tracker.conf # 修改之前安装FastDFS环节时候拷贝的配置文件

# 以下内容修改不是在Shell终端执行,而是vim里的文本内容
port = 22122            # tracker 默认端口,未被占用的话一般不修改
base_path = /home/dfs   # 日志和文件的根目录,由之前安装依赖库环节创建
# 保存

storage服务器配置


vim /etc/fdfs/storage.conf # 修改之前安装FastDFS环节时候拷贝的配置文件

# 以下内容修改不是在Shell终端执行,而是vim里的文本内容
port=23000           # storage默认端口,未被占用的话一般不修改
base_path = /home/dfs   # 日志和文件的根目录,由之前安装依赖库环节创建

store_path_count=1    # 硬盘的数量
store_path0=/home/dfs # 0的存储目录
#store_path1=/other/dfs # 如果有其他硬盘的话 store_path_count=2,再新增store_path1,有几个count就写几个store_path

tracker_server=192.168.1.1:22122 # trackerker服务器IP和端口
tracker_server=192.168.1.2:22122 # 有几个trackerker就配置几个

http.server_port=8888 # 默认8888,不支持Http访问的话可以不配置(跟Nginx配置的端口号保持一致)
# 保存

client 测试配置

vim /etc/fdfs/client.conf # 修改之前安装FastDFS环节时候拷贝的配置文件

# 以下内容修改不是在Shell终端执行,而是vim里的文本内容
base_path=/home/dfs
tracker_server=192.168.1.1:22122 # trackerker服务器IP和端口
tracker_server=192.168.1.2:22122 # 有几个trackerker就配置几个
# 保存

# 以下内容是vim保存后在Shell终端执行的
fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/nginx-1.15.4.tar.gz # 把刚才下Nginx压缩包上传到FastDFS上

#执行fdfs_upload_file会得到一个文件的ID 用以下载该文件或者在Http中访问该文件

Nginx.conf配置(不需要Http Client的话可以跳过)


vim /etc/fdfs/mod_fastdfs.conf
# 以下内容修改不是在Shell终端执行,而是vim里的文本内容
tracker_server=192.168.1.1:22122 # trackerker服务器IP和端口
tracker_server=192.168.1.2:22122 # 有几个trackerker就配置几个
url_have_group_name=true
store_path0=/home/dfs
# 保存

# 以下内容在Shell终端执行
vim /usr/local/nginx/conf/nginx.conf #配置nginx.config
# 以下内容修改不是在Shell终端执行,而是vim里的文本内容
# Nginx中添加如下配置,Storage服务器和Tracker服务器都需要配置Nginx
server {
    listen       8888;    # 该端口为storage.conf中的http.server_port相同
    server_name  localhost;
    location ~/group[0-9]/ {
        ngx_fastdfs_module;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
    root   html;
    }
}

# 测试下载,用外部浏览器访问刚才已传过的nginx安装包返回的文件ID 
# http://192.168.1.1:8888/group1/M00/00/00/wKgAQ1pysxmAaqhAAA76tz-dVgg.tar.gz

启动服务

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 # 自启动

nginx

/usr/local/nginx/sbin/nginx 
/usr/local/nginx/sbin/nginx -s reload
/usr/local/nginx/sbin/nginx -s stop

PHP 扩展安装


cd /usr/local/src/fastdfs/php_client
phpize
./configure
make 
make install

# 拷贝到PHP扩展的目录下
# 拷贝到pecl的路径下,例如pecl install redis后,拷贝到跟redis.so的相同目录下
cp modules/fastdfs_client.so /usr/local/Cellar/php/7.2.10/pecl/20170718/


# 拷贝fastdfs_client.ini配置文件到 /etc/php
cp fastdfs_client.ini /usr/local/etc/php/7.2/conf.d # 这是MAC上的
# 或者
php --ini # 得到php.ini的文件地址,然后可以直接将fastdfs_client.ini的文本内容直接拷贝到 php.ini文件里面

# 修改文本内容,内容设置跟配置Client环节差不多,这里就不赘述了
vi /usr/local/etc/php/7.2/conf.d/fastdfs_client.ini

# 执行测试文件

php fastdfs_test.php

# 由于每个人的系统和PHP环境不一致,上述的路径可能需要改动较大,请自行确定调整
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,245评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,749评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,960评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,575评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,668评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,670评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,664评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,422评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,864评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,178评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,340评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,015评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,646评论 3 323
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,265评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,494评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,261评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,206评论 2 352