FastDFS
FastDFS

FastDFS

安装原则:先fastdfs在安装nigix_module再次安装ngnix

初始化

clear
cd /opt/FastDFS
sh install.sh 123



mkdir -p /data/fastdfs
yum install -y make cmake gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl openssl-devel lrzsz

1. fastdfs安装

1.1 安装依赖

yum install -y make cmake gcc gcc-c++ lrzsz

1.2 安装libfastcommon

#解压libfastcommonV1.0.7.tar.gz
tar -zxf ./tar/libfastcommonV1.0.7.tar.gz -C /data/fastdfs/

#编译
cd /data/fastdfs/libfastcommon-1.0.7
./make.sh && ./make.sh install

#创建软连接  /usr/local/lib/  =>  /usr/lib64/
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
#ln -s /usr/local/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so

#验证
ls /usr/lib64/libfastcommon.so
ls /usr/local/lib/libfdfsclient.so
ls /usr/include/fastcommon

1.3 安装FastDFS

#解压libfastcommonV1.0.7.tar.gz
tar -zxf ./tar/FastDFS_v5.0.5.tar.gz -C /data/fastdfs/

#编译
cd /data/fastdfs/FastDFS
./make.sh && ./make.sh install

1.4 tracker配置

#存储数据和日志等
mkdir -p /data/fastdfs/tracker/base

#配置
cd /etc/fdfs
cp tracker.conf.sample tracker.conf
#修改指定行
vi tracker.conf
    base_path=/data/fastdfs/tracker/base


1.5 storage配置

#存储临时数据和日志等
mkdir -p /data/fastdfs/storage/base
#用于存放上传文件
mkdir -p /data/fastdfs/store/storage

#配置
cd /etc/fdfs
cp storage.conf.sample storage.conf
#修改指定行
vi storage.conf
    base_path=/data/fastdfs/storage/base
    store_path0=/data/fastdfs/store/storage
    group_name=group1
    #tracker的ip
    tracker_server=192.168.1.1xxx:22122  #tracker:22122


1.6 测试

cd /etc/fdfs/
mkdir -p /data/fastdfs/client/logs

cp client.conf.sample client.conf
vi client.conf
    base_pase=/data/fastdfs/client/logs
    #tracker的ip
    tracker_server=192.168.1.1xxx:22122  #tracker:22122


#启动tracker
fdfs_trackerd /etc/fdfs/tracker.conf start
#停止tracker
fdfs_trackerd /etc/fdfs/tracker.conf stop

#启动storage
fdfs_storaged /etc/fdfs/storage.conf start
#停止storage
fdfs_storaged /etc/fdfs/storage.conf stop


#查看storage集群状态     ACTIVE-正常  WAIT_SYNC/OFFLINE-不正常
fdfs_monitor /etc/fdfs/storage.conf

#查看进程状态
ps aux |grep fdfs_
root       2264  0.0  0.1 144552  2752 ?        Sl   14:14   0:00 fdfs_trackerd /etc/fdfs/tracker.conf start
root       2295  0.0  3.5  81132 66616 ?        Sl   14:15   0:00 fdfs_storaged /etc/fdfs/storage.conf start
root       2308  0.0  0.0 112824   984 pts/0    S+   14:22   0:00 grep --color=auto fdfs_


#验证上传系统,返回文件路径(例: group1/M00/00/00/wKgBq2O-as-ABqu9AAVE4I9y3os.tar.gz)
fdfs_upload_file /etc/fdfs/client.conf 测试上传文件路径
#fdfs_upload_file /etc/fdfs/client.conf /opt/FastDFS/tar/FastDFS_v5.0.5.tar.gz

2. 安装nignx及nignx_module

2.1 安装依赖

yum install -y gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl openssl-devel

2.2 解压nignx_modelu

#解压fastdfs-nginx-module_v1.16.tar.gz
tar -zxf ./tar/fastdfs-nginx-module_v1.16.tar.gz -C /data/fastdfs/

#拷贝mod_fasstdfs
\cp -f /data/fastdfs/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/

vi /etc/fdfs/mod_fastdfs.conf
#修改mod_fastdfs.conf
#tracker_server=tracker:22122
tracker_server=192.168.1.1xxx:22122

2.3 安装nignx

#解压nginx-1.8.1.tar.gz
tar -zxf ./tar/nginx-1.8.1.tar.gz -C /data/fastdfs/

#生成编译环境配置
cd /data/fastdfs/nginx-1.8.1

#2台tracker服务器的配置信息(不需要fastdfs模块)
./configure --prefix=/usr/local/nginx_fdfs
#4台storage服务器其的配置信息(需要使用fastdfs模块)
./configure --prefix=/usr/local/nginx_fdfs --add-module=/data/fastdfs/fastdfs-nginx-module/src

#编译
make && make install

#设置开机启动
chmod +x /etc/rc.d/rc.local
vi /etc/rc.d/rc.local
#添加
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart


#添加 /usr/local/nginx/sbin 目录到path
vi ~/.bash_profile
PATH=$PATH:$HOME/bin:/usr/local/nginx/sbin
source ~/.bash_profile
#或添加软连接
ln -s /usr/local/sbin/nginx /usr/local/nginx/sbin/nginx


#修改config
vi /usr/local/nginx/conf/nginx.conf
#user nobody 改为
user root;

#拷贝配置文件
\cp -f /data/fastdfs/FastDFS/conf/http.conf /etc/fdfs
\cp -f /data/fastdfs/FastDFS/conf/mime.types /etc/fdfs

2.4 测试nignx

#停止ng
/usr/local/nginx/sbin/nginx -s quit
#启动ng
/usr/local/nginx/sbin/nginx

#测试配置文件
nginx -c /usr/local/nginx/conf/nginx.conf -t

#以配置文件启动
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

#查看进程是否存在,需要 nginx: master 和 nginx: worker
ps aux |grep nginx
root       4584  0.0  0.0  29260   788 ?        Ss   16:10   0:00 nginx: master process nginx
root       4585  0.0  0.1  29820  1988 ?        S    16:10   0:00 nginx: worker process
root       4587  0.0  0.0 112824   988 pts/1    S+   16:10   0:00 grep --color=auto nginx

3. nignx配置

需要一台主入口,负载均衡tracker

tracker,负载均衡storage

3.1 入口配置

vi /usr/local/nginx/conf/nginx.conf


user  root;
worker_processes  1;
events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    #tracker_list
    upstream fastdfs_tracker_server {
        server tracker_server:22122;
        server tracker_server:22122;
        server tracker_server:22122;
        server tracker_server:22122;
    }

    #master 主入口
    server {
        listen       master_port;
        server_name  master;

        location / {
            root   html;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        location ~ /group[1-9]/M0[0-9] {   
            proxy_pass http://fastdfs_tracker_server; 
        }

    }

}

3.2 tracker配置

vi /usr/local/nginx/conf/nginx.conf


user  root;
worker_processes  1;
events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    #tracker_list
    upstream fastdfs_tracker_server {
        server tracker_server:22122;
        server tracker_server:22122;
        server tracker_server:22122;
        server tracker_server:22122;
    }

    #tracker
    server {
        listen       tracker_port;
        server_name  tracker;

        location / {
            root   html;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        location ~ /group[1-9]/M0[0-9] {   
            proxy_pass http://fastdfs_tracker_server; 
        }

    }

}

3.3 storage配置

vi /usr/local/nginx/conf/nginx.conf


user  root;
worker_processes  1;
events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    #storage_list
    upstream fastdfs_storage_server {
        server storage_server:23000;
        server storage_server:23000;
        server storage_server:23000;
        server storage_server:23000;
    }

    #storage
    server {
        listen       storage_port;
        server_name  storage;

        location / {
            root   html;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        location ~ /group[1-9]/M0[0-9] {   
            proxy_pass http://fastdfs_storage_server; 
        }

    }

}

补充: 写入命令

msg="upstream $zu { server $ip1;server $ip2;server $ip3}"
sed -ri "/^http/a $msg" $pw #增加upstream

processor=`cat /proc/cpuinfo | grep "processor" | wc -l` #获取cpu核数
sed -i "s/^w.*;$/worker_processes ${processor};/g" /etc/nginx/nginx.conf #将nginx.conf中的worker_processes




#重启nginx
nginx -s quit
nginx

#测试网址
http://ip:8888/group1/M00/00/00/xxxxxxx.xxx
[base]
#fastdfs的tracker监听端口
tracker_port=22122
storage_port=23000
store_path=/data/fastdfs/store/storage
#tracker的列表","分割  每台设备都会配置tracker.conf,但只有list里的会启动
tracker_list=192.168.1.170,192.168.1.171
storage_list=192.168.1.170,192.168.1.171,192.168.1.172,192.168.1.173
group_count=2

[group1]
group_name=group1
#storage_list ","分割 
list=192.168.1.170,192.168.1.171
tracker=192.168.1.170

[group2]
group_name=group2
list=192.168.1.172,192.168.1.173
tracker=192.168.1.171

[nginx]
master_port=8889
#入口服务器
master=192.168.1.170
#tracker
tracker_port=8888


clear
tar -zxvf /opt/download/FastDFS.tar.gz -C /opt/
cd /opt/FastDFS
sh install.sh

fdfs_upload_file /etc/fdfs/client.conf /opt/FastDFS/tar/FastDFS_v5.0.5.tar.gz
fdfs_upload_file /etc/fdfs/client.conf /opt/FastDFS/tar/nginx-1.8.1.tar.gz
fdfs_upload_file /etc/fdfs/client.conf /opt/CentOS-7-x86_64-DVD-2009.iso
fdfs_upload_file /etc/fdfs/client.conf /opt/mg.ldbk
fdfs_upload_file /etc/fdfs/client.conf /opt/1.jpg



find / -name wKgBrGPBHayAGViXAAy3wV-7-wA.tar.gz
cat /etc/fdfs/storage.conf
cat /etc/fdfs/tracker.conf
cat /etc/fdfs/mod_fastdfs.conf
cat /usr/local/nginx/conf/nginx.conf



fdfs_trackerd /etc/fdfs/tracker.conf stop
fdfs_storaged /etc/fdfs/storage.conf stop


netstat -tulnp | grep fdfs

资源下载
FastDFS自动化安装脚本此资源下载价格为188QL币,请先
HM材料此资源下载价格为10QL币,请先
客服: 273641837