FASTDFS安装
安装主体部分
-
上传 libfastcommon-1.0.35.tar.gz 和 fastdfs-5.05.tar.gz 或者使用如下命令
git clone https://github.com/happyfish100/libfastcommon.gitwget https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz
-
安装libfastcommon
cd libfastcommon./make.sh./make.sh install
-
安装fastdfs
tar zxf fastdfs-5.05.tar.gzcd fastdfs-5.05.tar.gz./make.sh./make.sh install
-
创建文件存储文件夹(可选)
mkdir /data/fdfs/tracker -pmkdir /data/fdfs/storage -pmkdir /data/fdfs/client -p
-
复制配置文件
cd /etc/fdfscp client.conf.sample client.confcp storage.conf.sample storage.confcp tracker.conf.sample tracker.conf
-
修改tracker.conf
vim tracker.conf#... base_path=/data/fdfs/tracker #...
-
修改storage.conf
vim storage.conf #... base_path=/data/fdfs/storage #指定日志位置 store_path0=/data/fdfs/storage #指定数据位置 tracker_server=192.168.10.240:22122 #指定tracker服务器地址 #...
-
修改client.conf
#... base_path=/data/fdfs/client tracker_server=192.168.10.240:22122 #...
安装完毕
操作部分
-
启动tracker和storage
#启动tracker /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf #启动storage /usr/bin/fdfs_storaged /etc/fdfs/storage.conf
-
停止tracker和storage
#停止tracker/usr/bin/stop.sh /etc/fdfs/tracker.conf#启动stotage/usr/bin/stop.sh /etc/fdfs/storage.conf
-
通过日志查看是否启动成功
tail -f /data/fdfs/storage/logs/storaged.log tail -f /data/fdfs/tracker/logs/trackerd.log
-
查看storage状态
fdfs_monitor /etc/fdfs/storage.conf
-
利用dfds自带的测试类进行测试
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /home/a.txt #下载 /usr/bin/fdfs_download_file /etc/fdfs/client.conf group1/M00/00/00/wKiZglauvkmANC2wAAAAPpWmuhI171.txt#删除 /usr/bin/fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/wKiZglauvkmANC2wAAAAPpWmuhI171.txt
安装fastdfs-nginx-module
- 使用nginx使文件可以通过url访问
未安装Nginx的情况
-
安装一些工具
#安装一些工具yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
-
安装PCRE库
tar zxf pcre-8.35.tar.gzcd pcre-8.35./configuremakemake installpcre-config --version#:8.35#添加软连接ln -s /lib64/libpcre.so.0.0.1 /lib64/libpcre.so.1
-
准备mudule
tar zxf fastdfs-nginx-module_v1.16.tar.gzvim ./fastdfs-nginx-module_v1.16/src/config#修改 CORE_INCS="$CORE_INCS /usr/local/include/fastdfs /usr/local/include/fastcommon/"#成 CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"#去掉了local
-
安装nginx
tar zxf nginx-1.12.1.tar.gzcd nginx-1.12.1.tar.gz#对应fastdfs-nginx-module的src文件夹的位置;可能还有一些其他参数 --prefix:指定nginx位置./configure --prefix=/usr/local/nginx --add-module=/usr/local/soft/fastdfs-nginx-module/src/makemake install
-
复制配置文件
cp [fastdfs文件路径]/fastdfs-5.05/conf/http.conf /etc/fdfs/cp [fastdfs文件路径]/fastdfs-5.05/conf/mime.types /etc/fdfscp [fastdfs-module文件路径]/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/vim /etc/fdfs/mod_fastdfs.conf
修改对应属性值(根据需求自定义)
connect_timeout=10base_path=/tmptracker_server=[tacker的ip地址]:22122storage_server_port=23000group_name=group1#url中是否需要有group的名称url_have_group_name = truestore_path0=/data/fdfs/storage
-
修改nginx的的配置
vim [nginx指定位置]/conf/nginx.conf
worker_processes 1;events { worker_connections 1024;}http { include mime.types; default_type application/octet-stream; sendfile on; server { listen 80; server_name localhost; location ~/group1/M00 { root /data/fdfs/storage/data; ngx_fastdfs_module; } }}
/data/fdfs/storage/data为fastdfs的data位置
-
启动nginx
/usr/local/nginx/sbin/nginx
已安装nginx的情况
-
配置mudule
同上
-
获取已安装的nginx信息
nginx -V#:nginx version: nginx/1.12.2#:built by gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) #:configure arguments: --prefix=/usr/local/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid
- 其中configure argument后面的就是已经安装的nginx的信息,可能有很多,一大串
- 其中nginx指的是nginx的可执行文件,在nginx目录下的sbin目录中
-
重新编译-在前面的configure argument后面加上 --add-module=[fastdfs-module位置]/fastdfs-nginx-module/src/
./configure --prefix=/usr/local/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --add-module=/usr/local/soft/fastdfs-nginx-module/src/#只要make即可,不要make install会覆盖make#编译之后,将会在objs的目录下重新生成一个nginx的可执行文件,复制去覆盖原理的nginx文件(默认在[nginx安装路径]/sbin下)cp [nginx安装路径]/sbin/nginx [nginx安装路径]/sbin/nginx.backcp [nginx安装路径]/objs/nginx [nginx安装路径]/sbin#重启nginx#查看是否安装成功-成功了会在configure arguments里多出我们添加的module[nginx安装路径]/sbin/nginx -V
@todo 备份存储