一、FastDfs 时序图
二、安装环境准备 centos7 环境
1、安装git 、vim、net-tools、
#安装工具包
yum install git
yum install vim
yum install net-tools
yum install wget
#安装源码
git clone https://github.com/happyfish100/fastdfs.git
git clone https://github.com/happyfish100/libfastcommon.git
git clone https://github.com/happyfish100/fastdfs-nginx-module.git
2、安装gcc 编译环境
yum -y install gcc-c++
3、安装libfastcommon
这里可以通过git 和上传文件的的方式进行安装
cd libfastcommon
./make.sh
./make.sh install
4、libfastcommon.so 默认安装到了/usr/lib64/libfastcommon.so,但是FastDFS主程序设置的lib目录是/usr/local/lib,所以此处需要重新设置软链接(类似于Windows的快捷方式):
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
5、安装fastdfs
cd fastdfs
./make.sh
./make.sh install
6、fastdfs 默认安装到/etc/fdfs下,默认会有配置模板,复制配置模板
cp client.conf.sample client.conf
cp storage.conf.sample storage.conf
cp tracker.conf.sample tracker.conf
7、创建系统目录,用来配置fastdfs 配置的存储路径
mkdir /opt/fastdfs_tracker
mkdir /opt/fastdfs_storage_data
mkdir /opt/fastdfs_storage
8、 配置tracker服务、修改 /etc/fdfs/tracker.conf 文件
disabled=false #启用配置文件(默认启用)
port=22122 #设置tracker的端口号,通常采用22122这个默认端口
base_path=/opt/fastdfs_tracker #设置tracker的数据文件和日志目录
http.server_port=8080 #设置http端口号,默认为8080
bind_addr= 0.0.0.0
9、创建启动软链接,因为fdfs_trackerd等命令在/usr/local/bin中并没有,而是在/usr/bin路径下:
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
10、启动Tracker 服务器
#开机自启动
echo "service fdfs_trackerd start" |tee -a /etc/rc.d/rc.local
service fdfs_trackerd start
11、查看服务器是否开启
ps -ef|grep fdfs
14、配置stoage 服务器,修改存储路劲
vim /etc/fdfs/storage.conf
#配置如下
disabled=false #启用配置文件(默认启用)
group_name=group1 #组名,根据实际情况修改
port=23000 #设置storage的端口号,默认是23000,同一个组的storage端口号必须一致
base_path=/opt/fastdfs_storage #设置storage数据文件和日志目录
store_path_count=1 #存储路径个数,需要和store_path个数匹配
store_path0=store_path0=/opt/fastdfs_storage_data #实际文件存储路径
tracker_server=192.168.1.111:22122 #tracker 服务器的 IP地址和端口号,如果是单机搭建,IP
15、建立软链接
ln -s /usr/bin/fdfs_storaged /usr/local/bin
16、启动storaged 服务
#开机自己启动
echo "service fdfs_storaged start" |tee -a /etc/rc.d/rc.local
service fdfs_storaged start
17、看storage服务器是否已经登记到 tracker服务器
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
#出现以下提示,配置成功
Storage 1:
id = 192.168.1.107
ip_addr = 192.168.1.107 ACTIVE
18、修改客服端配置
vim /etc/fdfs/client.conf
base_path=/opt/fastdfs_tracker #tracker服务器文件路径
tracker_server=192.168.1.111:22122 #tracker服务器IP地址和端口号
http.tracker_server_port=8080 # tracker 服务器的 http 端口号,必须和tracker的设置对应起来
19、测试服务
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /home/yqf/0.jpg
#返回如下
# group1/M00/00/00/wKgBa15XdAeAR0FkAAMwmrCd5UA013.jpg
三、安装ngnix 代理文件服务器
1、下载fastdfs-nginx-module 模块 和nginx,安装依赖
wget http://nginx.org/download/nginx-1.8.1.tar.gz
yum -y install pcre pcre-devel
yum -y install zlib zlib-devel
yum -y install openssl openssl-devel
2、解压成功后就可以编译安装nginx了,进入nginx目录并输入以下命令进行配置:
#将nginx 安装到/usr/local/nginx 并且添加模块,路径要随着自己文件目录填写
./configure --prefix=/usr/local/nginx --add-module=/home/yqf/fastdfs-nginx-module/src
3、安装nginx
make && make install
4、修改 storage nginx 配置
vim /usr/local/nginx/conf/nginx.conf
server {
listen 8081;
server_name localhost;
#添加配置如下
location ~/group1/M00 {
root /home/yqf/storage_data/data;
ngx_fastdfs_module;
}
}
5、然后进入FastDFS的安装目录**/usr/local/src/fastdfs目录下的conf目录,将http.conf和mime.types拷贝到/etc/fdfs**目录下:
cp -r conf/http.conf /etc/fdfs/
cp -r conf/mime.types /etc/fdfs/
6、接下来还需要把fastdfs-nginx-module安装目录中src目录下的mod_fastdfs.conf也拷贝到/etc/fdfs目录下:
cp -r fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
7、编辑mod_fastdfs.conf
base_path=/opt/fastdfs_storage #保存日志目录
tracker_server=192.168.1.111:22122 #tracker服务器的IP地址以及端口号
storage_server_port=23000 #storage服务器的端口号
url_have_group_name = true #文件 url 中是否有 group 名
store_path0=/opt/fastdfs_storage_data # 存储路径
group_count = 1 #设置组的个数,
[group1]
group_name=group1
torage_server_port=23000
store_path_count=1
store_path0=/opt/fastdfs_storage_data
8、接下来还需要在存储文件data 建立下 M00 至存储目录的符号连接:
ln -s /opt/fastdfs_storage_data/data/ /opt/fastdfs_storage_data/data/M00
9、启动nginx
/usr/local/nginx/sbin/nginx
10、配置tracker nginx服务器,新创建nginx
./configure --prefix=/usr/local/nginx2 --add-module=/home/yqf/fastdfs-nginx-module/src
make && make install
11、nginx.conf配置如下,进入conf目录并打开nginx.conf文件加入以下配置,storage的nginx无需修改listen端口,默认的80端口,改为8081,并将upstream指向tracker的nginx地址:
listen 80;
upstream fdfs_group1 {
server 127.0.0.1:8081;
}
server{
location /group1/M00 {
proxy_pass http://fdfs_group1;
}
}
12、开放端口
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --permanent --add-port=8888/tcp
firewall-cmd --permanent --add-port=8081/tcp
firewall-cmd --permanent --add-port=22122/tcp
firewall-cmd --permanent --add-port=23000/tcp
#重新加载防火墙配置
firewall-cmd --reload