centos6.8上FastDFS集群 安装 配置
按照以下步骤安装
安装包下载地址:
CSDN地址:
地址审核中稍后补充地址
百度网盘:
链接:https://pan.baidu.com/s/1PAF0dP5rsCauYWyhfoB14A
提取码:lzkq
安装系统和安装包
系统系统 centos6.8
三台服务器:192.168.1.2/3/4
安装包:
fastdfs-5.05.tar.gz
fastdfs-nginx-module.zip
libfastcommon-1.0.7.tar.gz
nginx-1.10.1.tar.gz
服务器规划:
tracker服务器:192.168.1.2
storage服务器:192.168.1.3/4
1.安装fastdfs(所有服务器)
安装依赖软件
yum -y install gcc gcc-c++ libstdc++-devel pcre-devel zlib-devel wget make
yum -y groupinstall 'Development Tools'
安装FastDFS必须先安装libfastcommon类库,否则会导致报错
tar -xvzf libfastcommon-1.0.7.tar.gz -C /usr/local
cd /usr/local/libfastcommon-1.0.7
./make.sh
./make.sh install
安装FastDFS
tar -xvzf fastdfs-5.05.tar.gz -C /usr/local
cd /usr/local/fastdfs-5.05
./make.sh
./make.sh install
FastDFS安装好之后,在/usr/bin目录下,可以看fdfs开头的命令工具,所有配置文件在/etc/fdfs目录下
创建存储日志和数据的根目录
mkdir /data/fastdfs
2.安装服务tracker(192.168.1.2)
将tracker.conf.sample文件重命名为tracker.conf,然后修改配置文/etc/fdfs/tracker.conf
cd /etc/fdfs
cp tracker.conf.sample tracker.conf
只需要找到你只需要该这两个参数修改就可以了base_pash路径(文件存储路径)和http端口号http.server_port
vi tracker.conf
base_path=/data/fastdfs
http.server_port=9090
修改完成保存并退出 vim
当然前提是你要有或先创建了/data/fastdfs目录。port=22122这个端口参数不建议修改,除非你已经占用它了。
这时候我们可以使用/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start来启动 Tracker服务,但是这个命令不够优雅,使用ln -s 建立软链接:
ln -s /usr/bin/fdfs_trackerd /usr/local/bin
ln -s /usr/bin/stop.sh /usr/local/bin
ln -s /usr/bin/restart.sh /usr/local/bin
配置文件中有这几个参数需要注意:
#启用配置文件
disabled=false
#设置tracker的端口号
port=22122
#设置tracker的数据文件和日志目录(需手动创建)
base_path=/data/fastdfs
#设置http端口号
http.server_port=9090
启动服务:service fdfs_trackerd start
查看监听:netstat -unltp | grep fdfs
看到22122端口正常被监听后,这时候就算 Tracker服务安装成功啦
3.安装服务storage(192.168.3/4)
创建数据存放目录
mkdir /data/fastdfs0
将storage.conf.sample文件重命名为storage.conf,然后修改配置文/etc/fdfs/ storage.conf
cd /etc/fdfs
cp storage.conf.sample storage.conf
storage主要完成base_path,store_path以及tracker的连接地址以及storage的http服务端口配置等。
vi /etc/fdfs/storage.conf
group_name=group1 # 组名(第一组为group1,第二组为group2,依次类推...)在192.168.1.4服务器上group_name=group2
base_path=/data/fastdfs #数据和日志文件存储根目录
store_path0=/data/fastdfs0 #第一个存储目录,第二个存储目录起名为:store_path1=xxx,其它存储目录名依次类推...
store_path_count=1 # 存储路径个数,需要和store_path个数匹配
tracker_server=192.168.1.2:22122 # tracker服务器IP和端口
修改完成保存并退出 vim
前提是你要有或先创建了/data/fastdfs0存放数据的目录。storaged的port=23000这个端口参数不建议修改,除非你已经占用它了。
这时候我们可以使用/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start来启动 Tracker服务,但是这个命令不够优雅,使用ln -s 建立软链接:
ln -s /usr/bin/fdfs_storaged /usr/local/bin
ln -s /usr/bin/stop.sh /usr/local/bin
ln -s /usr/bin/restart.sh /usr/local/bin
启动服务:service fdfs_ storaged start
查看监听:netstat -unltp | grep fdfs
看到23000端口正常被监听后,Storage服务安装成功
可以在任一存储节点上使用如下命令查看集群的状态信息
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
出现ip_addr = Active, 则表明storage服务器已经登记到tracker服务器
4.storage服务器上安装nginx
注意:fastdfs-nginx-module模块只需要安装到storage上
解压安装包
unzip fastdfs-nginx-module.zip -d /usr/local
tar -zvxf nginx-1.10.1.tar.gz -C /usr/local
需要先配置软链接:
ln -sv /usr/include/fastcommon /usr/local/include/fastcommon
ln -sv /usr/include/fastdfs /usr/local/include/fastdfs
ln -sv /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -sv /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
ln -sv /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
ln -sv /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
安装nginx的时候,添加 fastdfs-nginx-module-master模块
cd /usr/local/nginx-1.10.1
./configure --prefix=/usr/local/nginx --add-module=/usr/local/fastdfs-nginx-module/src
configure 成功结尾输出结果:
nginx http access log file: "/usr/local/nginx/logs/access.log"
nginx http client request body temporary files: "client_body_temp"
nginx http proxy temporary files: "proxy_temp"
nginx http fastcgi temporary files: "fastcgi_temp"
nginx http uwsgi temporary files: "uwsgi_temp"
nginx http scgi temporary files: "scgi_temp"
接下来执行make和make install
make
确定编译没有出错,再进行install
make install
安装成功,查看版本信息
/usr/local/nginx/sbin/nginx –V
进入fastdfs-nginx-module的src目录,将md_fastdfs.conf配置文件拷贝到/etc/fdfs/目录中
cp /usr/local/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
配置 mod_fastdfs.conf
vim /etc/fdfs/mod_fastdfs.conf
一般只需改动以下参数:
base_path=/data/fastdfs #保存日志目录
tracker_server=192.168.1.2:22122
storage_server_port=23000 #storage服务器的端口号
group_name=group1 #当前服务器的group名,服务器1.4的group名group2
url_have_group_name = true #文件url中是否有group名
store_path_count=1 #存储路径个数,需要和store_path个数匹配
store_path0=/root/fastdfs #存储路径
group_count = 2 #设置组的个数
在末尾增加2个组的具体信息:
[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/data/fastdfs0
[group2]
group_name=group2
storage_server_port=23000
store_path_count=1
store_path0=/data/fastdfs0
建立M00至存储目录的符号连接
ln -s /data/fastdfs0/data /data/fastdfs0/data/M00
ll /data/fastdfs0/data/M00
配置nginx
编辑/usr/local/nginx/conf配置文件目录下的nginx.conf,设置添加storage信息并保存
vim /usr/local/nginx/conf/nginx.conf
将server段中的listen端口号改为80,启动用户使用root(在开头第一行改为user root)
在server段中添加:
location ~/group[1-2]/M00 {
root /data/fastdfs0/data;
ngx_fastdfs_module;
}
复制fastdfs中的http.conf、mime.types文件到/etc/fdfs
cp /usr/local/fastdfs-5.05/conf/http.conf /usr/local/fastdfs-5.05/conf/mime.types /etc/fdfs
至此nginx以及FastDFS插件模块设置完成
运行nginx之前,先要把防火墙中对应的端口打开(本例中为80和storage服务端口23000)
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 23000 -j ACCEPT
/etc/init.d/iptables save
启动nginx
/usr/local/nginx/sbin/nginx
查看监听
netstat -unltp | grep nginx
查看日志
cat /usr/local/nginx/logs/error.log
在error.log中没有错误,既启动成功。可以打开浏览器,直接访问http://192.168.1.3/4:80,查看是否弹出nginx欢迎页面, 说明nginx运行成功。
将nginx设置为开机启动:
vim /etc/rc.d/rc.local
添加:/usr/local/nginx/sbin/nginx &
赋值权限:chmod 755 /etc/rc.local
5.tracker服务器上安装nginx
解压安装包
tar -zvxf nginx-1.10.1.tar.gz -C /usr/local
运行./configure进行安装前的设置,主要设置安装路径
cd /usr/local/nginx-1.10.1
./configure --prefix=/usr/local/nginx
运行make进行编译,确保编译成功。
make
运行make install进行安装。
make install
编辑/usr/local/nginx/conf配置文件目录下的nginx.conf,设置负载均衡
将server段中的listen端口号改为80,启动用户使用root(在开头第一行改为user root)
vim /usr/local/nginx/conf/nginx.conf
worker_processes 2; #根据CPU核心数而定
events {
worker_connections 65535; #最大链接数
use epoll; #新版本的Linux可使用epoll加快处理性能
}
http {
#设置group1的服务器
upstream fdfs_group1 {
server 192.168.1.3:80 weight=1 max_fails=2 fail_timeout=30s;
}
#设置group2的服务器
upstream fdfs_group2 {
server 192.168.1.4:80 weight=1 max_fails=2 fail_timeout=30s;
}
server {
#设置服务器端口
listen 80;
#设置group1的负载均衡参数
location /group1/M00 {
proxy_pass http://fdfs_group1;
}
#设置group2的负载均衡参数
location /group2/M00 {
proxy_pass http://fdfs_group2;
}
}
}
至此,nginx设置完成。
运行nginx之前,先要把防火墙中对应的端口打开(本例中为80和tracker服务端口22122以及tracker的http端口9090)
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 9090 -j ACCEPT
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 22122 -j ACCEPT
/etc/init.d/iptables save
启动nginx
/usr/local/nginx/sbin/nginx
查看监听
netstat -unltp | grep nginx
查看日志
cat /usr/local/nginx/logs/error.log
在error.log中没有错误,既启动成功。可以打开浏览器,直接访问http://192.168.1.2:80,查看是否弹出nginx欢迎页面, 说明nginx运行成功。
将nginx设置为开机启动:
vim /etc/rc.d/rc.local
添加:/usr/local/nginx/sbin/nginx &
赋值权限:chmod 755 /etc/rc.local
配置client.conf文件
cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
vim /etc/fdfs/client.conf
base_path=/data/fastdfs #日志存放路径
tracker_server=192.168.1.2:22122
http.tracker_server_port=9090
修改完成保存并退出 vim
fdfs_upload_file /etc/fdfs/client.conf /data/test.jpg
group2/M00/00/00/wKgBBF6n-bGAJMM-AABt9WLqiVA197.jpg
使用浏览器访问
http://192.168.1.2:80/group2/M00/00/00/wKgBBF6n-bGAJMM-AABt9WLqiVA197.jpg
看到图片证明搭建成功
参考:
https://www.cnblogs.com/mafly/p/fastdfs_conf.html
http://www.ityouknow.com/fastdfs/2017/10/10/cluster-building-fastdfs.html