環境是centos
呃,裝個玩意兒走了好多彎路,以為依賴太多的包河模塊,搞了很久.
後來發現其實安裝可以簡化的,yum沒有mogilefs,可以通過epel來安裝.
第一種安裝方法,用epel
# rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
# yum -y install mogilefsd perl-MogileFS-Client perl-MogileFS-Utils
# yum -y install mogstored mogstored-backend-perlbal mogstored-backend-lighttpd mogstored-backend-apache perl-MogileFS-Client perl-MogileFS-Utils
如果後面報錯找不到AIO則需補充安裝AIO
# cpan
# cpan> install IO::AIO
______________________________________________________________
第二重安裝方法,用cpan
# cpan
# cpan> install IO::AIO
# cpan> install DBI
# cpan> install DBD::mysql
# cpan> install MogileFS::Server
install Gearman::Client
install Gearman::Server
install Sys::Syscall
install Perlbal
install Net::Netmask
install Danga::Socket
install Gearman::Client::Async
# cpan> install MogileFS::Utils
install MogileFS::Client
______________________________________________________________
第三種方法是傳統的一個個依賴包的裝的辦法:
這種方法比較煩人,就不說了,都是淚啊```研究的我手都抽筋了
______________________________________________________________
下面說說配置:
搞清楚原理後其實配置起來還是蠻容易的.
第一步,初始化數據庫
# mogdbsetup --dbhost=127.0.0.1 --dbname=mogilefs --dbuser=mogilefs --dbpass=jongin
第二步,新建tracker配置文件
# vim /etc/mogilefsd.conf
db_dsn DBI:mysql:mogilefs:127.0.0.1
db_user mogilefs
db_pass jongin
conf_port 6001
listener_jobs 5
第三步,啟動trackers.
# adduser mogile
# su mogile
# mogilefsd -c /etc/mogilefsd.conf --daemon
第四步,初始化storage server數據
# mogadm --lib=/usr/lib/perl5/5.8.8 --trackers=222.191.251.xx:6001 host add mogilestorage --ip=222.191.251.xx--port=7500 --status=alive
檢測是否生效:
# mogadm --lib=/usr/lib/perl5/5.8.8 --trackers=222.191.251.xx:6001 host list
添加設備到storage server
# mogadm -lib=/usr/lib/perl5/5.8.8 -trackers=222.191.251.xx:6001 device add mogilestorage 1
檢測是否生效:
# mogadm --lib=/usr/lib/perl5/5.8.8 --trackers=222.191.251.xx:6001 device list
第五步,新建Storage配置文件
# vim /etc/mogstored.conf
httplisten=0.0.0.0:7500
mgmtlisten=0.0.0.0:7501
docroot=/da
建立存儲目錄-> mkdir -p /da
第六步,運行MogileFS
# mogstored -c /etc/mogstored.conf --daemon
查看你所有的服務都起來沒有
# ps -ef | grep mogilefsd
# ps -ef | grep mogstored
第七部,測試運行
生成domain
# mogadm --lib=/usr/lib/perl5/5.8.8 --trackers=222.191.251.xx:6001 domain add icv.cn
加一個 class 到domain
# mogadm --lib=/usr/lib/perl5/5.8.8 --trackers=222.191.251.xx:6001 class add icv.cn type1
1.安裝php-mogileFS 擴展
參考,http://projects.usrportage.de/index.fcgi/php-mogilefs
2.寫測試文件
<?php
$client->connect('222.191.251.xxx, 6001, 'jongin.com');
$client->put('http://www.baidu.com/img/logo-yy.gif', 'myFile', 'type1');
$metadata = $client->get('myFile');
print_r($metadata);
$content = file_get_contents($metadata['path1']);
echo $content;
?>