FastDfs安装,根据不同项目存放文件到不同目录

1、下载和解压fastdfs,libfastcommon,nginx,fastdfs-nginx-module

#master机器执行
#安装一些会用到的包
yum -y install zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip net-tools wget
mkdir -p /data/fdfs
cd /data/fdfs
wget https://github.com/happyfish100/fastdfs/archive/V5.11.tar.gz
wget https://github.com/happyfish100/libfastcommon/archive/master.zip
wget https://github.com/happyfish100/fastdfs-nginx-module/archive/V1.20.zip
wget http://nginx.org/download/nginx-1.12.0.tar.gz
tar -zxvf V5.11.tar.gz 
unzip master.zip 
unzip V1.20.zip 
tar -zxvf nginx-1.12.0.tar.gz

2.1 安装libfastcommon

cd /data/fdfs/libfastcommon-master/
./make.sh
./make.sh install
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

2.2 安装FastDfs

cd /data/fdfs/fastdfs-5.11/
./make.sh
./make.sh install
cd /etc/fdfs/
cp client.conf.sample client.conf
cp storage.conf.sample storage.conf
cp tracker.conf.sample tracker.conf

FastDFS安装结束,开始安装tracker、storage

3.1 安装tracker

mkdir -p /data/fdfs/fastdfs_tracker
cd /etc/fdfs
vi tracker.conf
#修改路径,其他不用修改
base_path=/data/fdfs/fastdfs_tracker 
http.server_port=6666
# 启动tracker
service fdfs_trackerd start
chmod +x /etc/rc.d/rc.local
# 添加开机自启动
vi /etc/rc.d/rc.local
#在最后一行加上
service fdfs_trackerd start
# 检查是否监听正常
netstat -unltp|grep fdfs

3.2 安装storage

mkdir -p /data/fdfs/fastdfs_storage  
mkdir -p /data/fdfs/data0
mkdir -p /data/fdfs/data1
mkdir -p /data/fdfs/data2
mkdir -p /data/fdfs/data3
mkdir -p /data/fdfs/data4
vi /etc/fdfs/storage.conf
修改路径
base_path=/data/fdfs/fastdfs_storage
store_path_count=5
store_path0=/data/fdfs/data0
store_path1=/data/fdfs/data1
store_path2=/data/fdfs/data2
store_path3=/data/fdfs/data3
store_path4=/data/fdfs/data4
tracker_server=192.168.1.131:22122 填写自己本机ip 
#启动storage
service fdfs_storaged start
# 添加开机自启动
vim /etc/rc.d/rc.local
#在最后一行加上
service fdfs_storaged start

修改客户端

vi /etc/fdfs/client.conf

base_path=/data/fdfs/fastdfs_tracker 
tracker_server=192.168.1.131:22122 填写自己本机ip
http.tracker_server_port=6666

上传图片或者其他文件  注意使用自己ip

# 默认上传至/data/fdfs/data0
fdfs_upload_file  /etc/fdfs/client.conf /root/1350604643139.jpg
#返回是是:group1/M00/00/00/wKgBg13COViAXSD1AA_-EN9C8yw234.jpg
cd /data/fdfs/data0/data/00/00
ls

#上传其他目录下
fdfs_upload_file  /etc/fdfs/client.conf /root/1350604643139.jpg 192.168.1.131:23000 4
#返回的是:group1/M04/00/00/wKgBg13CMlCAMrY5AA_-EN9C8yw649.jpg
cd /data/fdfs/data4/data/00/00
ls

现在还不能再网页访问文件图片,需要使用nginx代理

FastDFS的nginx模块安装

安装nginx并添加fastdfs-nginx-module

cd  /data/fdfs/fastdfs-nginx-module-1.20/src
sed -i 's/\/usr\/local\/include/\/usr\/include\/fastdfs \/usr\/include\/fastcommon\//g' config

cd /data/fdfs/nginx-1.12.0
./configure --prefix=/usr/local/nginx --add-module=/data/fdfs/fastdfs-nginx-module-1.20/src/
make
make install
#修改nginx配置  具体内容在本文后面单独放
vim /usr/local/nginx/conf/nginx.conf
# 修改完后需要复制一些其他文件
cp /data/fdfs/fastdfs-5.11/conf/http.conf /etc/fdfs/
cp /data/fdfs/fastdfs-5.11/conf/mime.types /etc/fdfs/
cp /data/fdfs/fastdfs-nginx-module-1.20/src/mod_fastdfs.conf /etc/fdfs/
vim /etc/fdfs/mod_fastdfs.conf
#修改的地方有
tracker_server=192.168.1.131:22122
url_have_group_name = true
store_path_count=6
store_path0=/data/fdfs/data0
store_path1=/data/fdfs/data1
store_path2=/data/fdfs/data2
store_path3=/data/fdfs/data3
store_path4=/data/fdfs/data4
store_path5=/data/fdfs/data5

#启动nginx
/usr/local/nginx/sbin/nginx
#关闭nginx
/usr/local/nginx/sbin/nginx -s stop
#查看图片:
http://192.168.1.131/group1/M04/00/00/wKgBg13CMlCAMrY5AA_-EN9C8yw649.jpg

更多关于nginx启动与关闭,可以设置成systemctl start nginx。具体详见centos7下如何自行在systemctl添加系统服务

如果需要一主一备,只需要在另外一台机器安装storage即可

 

配置的nginx.conf

worker_processes  4;
user root;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    upstream fdfs_group1 {
        server 192.168.1.131:9999;
        #server 192.168.1.117:9999;
    }
    server {
        listen       80;
        server_name  localhost;
        location ~* /group1/(M00|M01|M02|M03|M04|M05) {
            proxy_pass http://fdfs_group1;
        }
        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
    server {
        listen       9999;
        server_name  localhost;
        location /group1/M00 {
            root /mnt/fdfs/data0/data;
            if ($arg_attname ~ "^(.+)") {
                add_header Content-Type application/x-download;
                add_header Content-Disposition "attachment;filename=$arg_attname";
            }
            ngx_fastdfs_module;
        }
        location /group1/M01 {
            root /mnt/fdfs/data1/data;
            if ($arg_attname ~ "^(.+)") {
                add_header Content-Type application/x-download;
                add_header Content-Disposition "attachment;filename=$arg_attname";
            }   
            ngx_fastdfs_module;
        }
        location /group1/M02 {
            root /mnt/fdfs/data2/data;
            if ($arg_attname ~ "^(.+)") {
                add_header Content-Type application/x-download;
                add_header Content-Disposition "attachment;filename=$arg_attname";
            }   
            ngx_fastdfs_module;
        }   
        location /group1/M03 {
            root /mnt/fdfs/data3/data;
            if ($arg_attname ~ "^(.+)") {
                add_header Content-Type application/x-download;
                add_header Content-Disposition "attachment;filename=$arg_attname";
            }   
            ngx_fastdfs_module;
        }   
        location /group1/M04 {
            root /mnt/fdfs/data4/data;
            if ($arg_attname ~ "^(.+)") {
                add_header Content-Type application/x-download;
                add_header Content-Disposition "attachment;filename=$arg_attname";
            }   
            ngx_fastdfs_module;
        }   
        location /group1/M05 {
            root /mnt/fdfs/data5/data;
            if ($arg_attname ~ "^(.+)") {
                add_header Content-Type application/x-download;
                add_header Content-Disposition "attachment;filename=$arg_attname";
            }   
            ngx_fastdfs_module;
        }   
    }
}

 

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值