Linux中安装FastDFS
安装FastDFS相关工具包
- 安装GCC依赖,GCC用来对C语言进行编码 :
yum install -y gcc
- 安装unzip,unzip 可以对压缩包进行解压:
yum install -y unzip zip
- 安装libevent:
yum -y install libevent
- 安装Nginx所需的依赖:
yum -y install pcre pcre-devel zlib zlib-devel opeenssl openssl-devel
- 综上,快速安装:
yum -y install zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip net-tools
- 安装libfastcommon-master,这个没有yum包,只能通过编译安装,解决找不到./make.sh 命令。
解压上传的libfastcommon-master.zip:
unzip libfastcommon-master.zip
进入解压完成的目录:
cd libfastcommon-master
编译并且安装
./make.sh && ./make.sh install
安装FastDFS包
-
解压:
tar -xvf FastDFS_v5.08.tar.gz
进入目录
cd FastDFS
编译并安装
./make.sh && ./make.sh install
-
检查安装结果
ll /etc/init.d/ | grep fdfs
-
FastDFS提供的启动脚本查看配置文件模板
cd /etc/fdfs
-
修改tracker.conf
cp tracker.conf.sample tracker.conf
vi tracker.conf
修改base_path=/ying/fdfs/tracker,用来存放tracker的数据和日志
再创建修改后的配置路径
mkdir -p /ying/fdfs/tracker
-
修改storage.conf
cp storage.conf.sample storage.conf
base_path=/ying/fdfs/storage
store_path0=/ying/fdfs/storage
tracker_server=192.168.43.80:22122
(ip为虚拟机的地址)
再创建修改后的配置路径
mkdir -p /ying/fdfs/storage
-
查看是否成功安装命令
cd /usr/bin/
是否有 fdfs_trackerd fdfs_storaged -
启动:tracker、storage
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
-
测试文件上传
cd /etc/fdfs
cp client.conf.sample client.conf
-
修改client.conf配置文件,
base_path=/tmp
tracker_server=192.168.43.80:22122 -
上传文件命令
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /tmp/上传文件名
成功后返回图片的id:
group1/M00/00/00/wkg4sdfijsfi.jpeggroup1:组信息 M00:对应store_path0 /00/00/:磁盘信息
nginx与FastDFS集成
-
解压
tar -zxvf fastdfs-nginx-module_v1.16.tar.gz
-
配置config文件,进入配置文件目录
cd /apps/fastfdfs-nginx-module/src/
-
修改配置文件,执行下面命令(将配置文件的/usr/local改为/usr)
- vi config:%s+/usr/local/+/usr/+g
-
配置mod_fastdfs.conf
复制
cp mod_fastdfs.conf /etc/fdfs/
cd /etc/fdfs/
-
修改 mod_fastdfs.conf
设置tracker_server的ip+port tracker_server=192.168.43.80:22122 访问链接前加上组名 url_have_group_name = true store_path0=/ying/fdfs/storage 复制FastDFS的部分配置文件到/etc/fdfs/目录 cd /apps/FastDFS/conf cp http.conf mime.types /etc/fdfs/
-
若没有安装过Nginx
tar -xvf nginx-11.10.0.tar.gz
cd nginx-11.10.0
./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx --add-module=/apps/fastdfs-nginx-module/src
编译安装
make && make install
-
如果已经安装过了
cd nginx-11.10.0
./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx --conf-path=/opt/nginx/conf/nginx.conf --add-module=/apps/fastdfs-nginx-module/src/
-
编译不安装
make
备份之前的nginx
mv /usr/bin/nginx /usr/bin/nginx-bck
用刚刚编译的nginx替换之前安装的nginx
cp /apps/nginx/objs/nginx /usr/bin/ (classpath way of)
-
修改Nginx路由配置信息 (/opt/nginx/conf/nginx.conf)
server { listen :80 server_name image.ying.com #监听域中带有group的,交给FastDFS模块处理 location ~/group([0-9])/ { ngx_fastdfs_module; } }
-
启动
nginx
-
解决 nginx: [error] open() “/opt/nginx/logs/nginx.pid” failed
/usr/bin/nginx -c /opt/nginx/conf/nginx.conf
-
启动:tracker、storage、nginx
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
nginx