1、准备
1、一台安装好CentOS-6.5-x86_64-bin-DVD1.iso的计算机(安装过程请详见《CentOS6.5系统安装及初始配置.doc》)
2、计算机接入分布式文件系统局域网中,并且已经分配好IP地址并且Centos已经创建isvision用户。
3、将fastdfs-dep.zip和yum-download.zip拷贝到/home/isvision/路径下。(如果机器联网可以不拷贝yum-download.zip)
2.2 准备FastDFS的安装包
所有需要的文件都已经打包进fastdfs-dep.zip。解压即可:unzip fastdfs-dep.zip
2.3 编译libfastcommon
cd fast-dep
unzip libfastcommon-1.0.7.zip
cd libfastcommon-1.0.7
./make.sh
./make.sh install
2.4 编译FastDFS
cd /home/isvision/fastdfs-dep/
tar -zxvf FastDFS_v5.05.tar.gz 请注意字母大小写区分
cd FastDFS
更改make.sh文件中TARGET_CONF_PATH=/usr/local/FastDFS
vi make.sh
修改后
编译安装
./make.sh
./make.sh install
2.5 检查安装
fdfs_storage、fdfs_trackerd、fdfs_monitor命令都存在说明fastdfs安装已经完成,命令行输入fdfs,然后按tab键会自动跳出。
3、配置
3.1 创建运行时需要的文件夹
Tracker服务器上需要预先创建的文件夹:
mkdir /home/isvision/fastdfs_tracker
mkdir /home/isvision/fastdfs_client
//一般monitor服务和tracker 装在同一台机器上,所以fastdfs_client文件夹也创建在Tracker服务器上。
Storage服务器上需要预先创建的文件夹:
mkdir /home/isvision/fastdfs_storage_info
mkdir /home/isvision/fastdfs_storage_data
3.2 修改配置文件
#step 1. 将FastDFS/conf/下所有的配置文件拷贝到/etc/fdfs/路径下
[root@dzytest FastDFS]# cp -R /home/isvision/fastdfs-dep/FastDFS/conf /* /etc/fdfs/
#step 2. 修改配置文件,根据机器的角色修改相应的conf,比如tracker机器只要修改tracker.conf,storage机器只要修改storage.conf。Monitor角色是一台监控设备,可以放在FastDFS集群的任何一台机器上(需要fdfs_monitor),通常放在tracker机器上即可。
Tracker:
vim /etc/fdfs/tracker.conf
base_path=/home/isvision/fastdfs_tracker
store_lookup = 0
Storage:
vim /etc/fdfs/storage.conf
group_name=组名 (提示:组名的名字尽量以英文和数据组成,比如:group0,group1)
base_path=/home/isvision/fastdfs_storage_info
store_path0=/home/isvision/fastdfs_storage_data
tracker_server=IP:22122 (提示:IP请输入部署tracker服务器的地址)
Monitor:
vim /etc/fdfs/client.conf
base_path=/home/isvision/fastdfs_client
tracker_server=IP:Port
4、运行
在运行之前建议先把防火墙关闭,或者把对应程序的端口添加到防火墙中。
方法1:关闭防火墙,允许所有端口都通行。
service iptables stop
缺点:一旦重新启动服务器就失效。
方法2:添加对应程序的端口到防火墙中--强烈建议用此方法!
(tracker 的端口:22122,storage的端口:23000, Nginx :80 )
根据机器的角色添加对应的端口到防火墙中。
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 22122 -j ACCEPT
/etc/init.d/iptables save
至于storage和nginx也用同样的方法添加即可。
4.1 启动程序
Ø 根据机器角色启动相应的程序(服务启动无先后顺利,但是最先启动tracker,后再启动storage)
tracker程序启动命令:
fdfs_trackerd /etc/fdfs/tracker.conf
storage程序启动命令:
fdfs_storaged /etc/fdfs/storage.conf
Ø 检查程序是否启动
查看运行状态
通过monitor可以查看整个FastDFS系统的状态:
fdfs_monitor /etc/fdfs/client.conf
查看单个服务器的状态
ssh name@ip
tracker:
cat /home/isvision/fastdfs_tracker/logs/trackerd.log
storage:
cat /home/isvision/fastdfs_storage_info/logs/storaged.log
Ø 设置开机自动启动
针对服务器角色的不同,请添加不同的命令行。
在 /etc/rc.d/rc.local添加如下俩行命令实现开机自动启动:
vi /etc/rc.d/rc.local
fdfs_trackerd /etc/fdfs/tracker.conf (tracker主机添加这行)
fdfs_storaged /etc/fdfs/storage.conf (storage主机添加这行)
例如:
5、测试
方法2:(请在部署tracker服务器上执行!)
首先配置/etc/fdfs/client.conf文件,修改其中的tracker服务器ip。
用如下的命令进行测试:
fdfs_upload_file /etc/fdfs/client.conf 要上传的文件
例如:
fdfs_upload_file /etc/fdfs/client.conf /home/isvision/fastdfs-dep.zip
返回的结果:
group0/M00/00/00/wKhztFXKrV-APnOHABPE0v0bfWo251.zip
实际放入数据的地址:
/home/isvision/fastdfs_storage_data/data/00/00
如果返回一个文件id,说明上传成功。
更多可参考FastDFS源码包里的INSTALL文件
6、nginx模块安装
现在虽然FastDFS的系统已经搭建起来,但是访问图片数据还需要专用的客户端,因此引入nginx使得用户可以通过浏览器直接访问存储的数据。
6.1 在Storage上安装nginx
在storage上安装的nginx需要引入fastdfs-nginx-module插件,主要为了提供http的访问服务并解决同组storage的同步延迟问题。
1、解压fastdfs-nginx-module_v1.16.tar.gz,修改src/config文件
将/usr/local/include/fastdfs和/usr/local/include/fastcommon修改成
/usr/include/fastdfs和/usr/include/fastcommon
cd /home/isvision/fastdfs-dep/
tar -zxvf fastdfs-nginx-module_v1.16.tar.gz
vi /home/isvision/fastdfs-dep/fastdfs-nginx-module/src/config
修改前
修改后
2、编译安装nginx
cd /home/isvision/fastdfs-dep/
tar -zxvf nginx-1.7.8.tar.gz
cd nginx-1.7.8
----------------------------------------------------------------------------------------------------------
./configure --prefix=/usr/local/
nginx --add-module=/home/isvision/fastdfs-dep/fastdfs-nginx-module/src
------ -----------------------------------------------------------------
友情提示:由于上述命令在word中显示空格的原因,导致上述命令无法复制粘贴直接运行,请用户按照如下命令手动输入:
make
make install
3、配置nginx
vi /usr/local/nginx/conf/nginx.conf
vi /usr/local/nginx/conf/nginx.conf
3.
拷贝fastdfs-nginx-module/src 下面的mod_fastdfs.conf到/etc/fdfs/目录下。
cp -R /home/isvision/fastdfs-dep/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
编写mod_fastdfs.conf
vi /etc/fdfs/mod_fastdfs.conf 修改以下字段
group_name=组名
url_have_group_name=true
store_path0=/home/isvision/fastdfs_storage_data
tracker_server=tracker:22122
4. 启动nginx:
/usr/local/nginx/sbin/nginx
重新启动nginx的方法:
/usr/local/nginx/sbin/nginx -s reload
5.实现Nginx开机自动启动:
vi /etc/rc.d/rc.local
添加如下内容:
/usr/local/nginx/sbin/nginx
保存,退出!
6.2 在Tracker上安装nginx
在tracker上安装的nginx主要为了提供http访问的反向代理。
1、安装
cd /home/isvision/fastdfs-dep/
cd nginx-1.7.8
./configure --prefix=/usr/local/nginx
make
make install
2、配置
cd /usr/local/nginx/conf/
vi nginx.conf
需要添加的内容如下:
#gzip on;
upstream server_group0 {
server 192.168.115.179:80;
server 192.168.115.180:80;
}
upstream server_group1 {
server 192.168.115.181:80;
}
//编者友情提示:192.168.115.179,192.168.115.180属于group0组,192.168.115.181属于group1组
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location /group0 {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwrded-For $proxy_add_x_forwarded_for;
proxy_pass http://server_group0;
}
location /group1 {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://server_group1;
}
//编者友情提示:请修改标粗的地方,其他照抄!
6.3 运行(启动Nginx)
启动nginx:
/usr/local/nginx/sbin/nginx
重新启动nginx:
/usr/local/nginx/sbin/nginx -s reload
设置开机自动启动
vi /etc/rc.d/rc.local
将运行命令行添加进文件 /usr/local/nginx/sbin/nginx
nginx 排查错误的日志:
/usr/local/nginx/logs
以上已经介绍完了在tracker和storage上安装Nginx 的方法。如果您在安装过程中遇到问题,请查看日志的提示信息,根据提示信息进行诊断。
6.4 测试
打开浏览器,输入
http://192.168.115.178/group1/M00/00/01/wKhztVXKrF-AaRedAABg-DZf-vQ507.jpg