目录
安装Nginx和fastdfs-nginx-module模块
(1)解压 nginx 和 fastdfs-nginx-module-master
(3)修改fastdfs-nginx-module-master/src/config文件
(4)配置,并加载fastdfs-nginx-module模块
(6)配置mod-fastdfs.conf,并拷贝到/etc/fdfs文件目录下
(7)进入/etc/fdfs修改mod-fastdfs.conf
(8)配置nginx,80端口server增加location如图
(9)最后需要拷贝fastdfs解压目录中的http.conf和mime.types
(11)查看此时的nginx版本:发现fastdfs模块已经安装好了
学习《学成在线》的时候需要fastdfs,啥也不说了,都是泪,安了两天才搞定,在这里借鉴了两篇大神的著作,最后会附上,开始吧
安装前准备
(1)环境CentOS7,先下载所需要的全部工具
yum -y install zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip net-tools wget
(2)搭建的所有工具截图
链接:https://pan.baidu.com/s/1t-ZwmqtanT4Q4LHrQaQzhA 提取码:o7xv
(3)创建好tracker和storage文件夹
mkdir -p /home/mm/fastdfs/tracker
mkdir -p /home/mm/fastdfs/storage
开始安装
我是把所有的文件都上传到/usr/local里了,大家随意
(1)安装libfastcommon
unzip libfastcommon-master.zip
cd 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)安装FastDFS
cd /usr/local
执行 tar -zxvf fastdfs-5.11.tar.gz
cd fastdfs-5.11
./make.sh
./make.sh install
查看可执行命令
ls -la /usr/bin/fdfs*
接下来,继续
[root@localhost sbin]# cd /etc/fdfs/
[root@localhost fdfs]# ll
-rw-r--r--. 1 root root 1461 6月 24 13:19 client.conf.sample
-rw-r--r--. 1 root root 7927 6月 24 13:19 storage.conf.sample
-rw-r--r--. 1 root root 7389 6月 24 13:19 tracker.conf.sample
我们需要把这三个实例文件复制一份,去掉sample
cp client.conf.sample client.conf
cp storage.conf.sample storage.conf
cp tracker.conf.sample tracker.conf
到此~FastDFS安装结束。
(3)配置Tracker服务
编辑tracker.conf:vi tracker.conf,修改相关参数
base_path=/home/mm/fastdfs/tracker #tracker存储data和log的跟路径,必须提前创建好
http.server_port=80 #http端口,需要和nginx相同
启动 tracker 命令如下。
service fdfs_trackerd start
如果不能成功启动,可以通systemctl命令
systemctl start fdfs_trackerd
成功之后可以看见
[root@localhost fdfs]# service fdfs_trackerd start
Starting fdfs_trackerd (via systemctl): [ OK ]
然后 我们不能每次都这么启动tracker,我们需要给tracker加入开机启动
首先需要给执行权限,
chmod +x /etc/rc.d/rc.local
然后开始修改rc.local
vi /etc/rc.d/rc.local
在配置文件最后加下最后一句话即可
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.
touch /var/lock/subsys/local
service fdfs_trackerd start
保存,然后 查看tracker端口监听情况
[root@localhost fastdfs_tracker]# netstat -unltp|grep fdfs
tcp 0 0 0.0.0.0:22122 0.0.0.0:* LISTEN 7850/fdfs_trackerd
到此22122端口监听成功。
(4)配置Storage服务
vi /etc/fdfs/storage.conf,修改相关参数:
base_path=/home/mm/fastdfs/storage #storage存储data和log的跟路径,必须提前创建好
store_path0=/home/mm/fastdfs/storage #如果为空,则使用base_path
tracker_server=192.168.1.134:22122 #配置该storage监听的tracker的ip和port
保存之后 创建软引用
ln -s /usr/bin/fdfs_storaged /usr/local/bin
启动storage
service fdfs_storaged start
同理 如果不能启动可以用下述命令
systemctl start fdfs_storaged
成功应该是如下
[root@localhost fdfs]# service fdfs_stroaged start
Starting fdfs_storaged (via systemctl): [ OK ]
同样设置开机启动
修改rc.local
vim /etc/rc.d/rc.local
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.
touch /var/lock/subsys/local
service fdfs_trackerd start
service fdfs_storaged start
同样查看服务是否启动
[root@localhost 00]# netstat -unltp | grep fdfs
tcp 0 0 0.0.0.0:22122 0.0.0.0:* LISTEN 7850/fdfs_trackerd
tcp 0 0 0.0.0.0:23000 0.0.0.0:* LISTEN 8077/fdfs_storaged
服务启动,到此fastdfs已经配置完成了。最后我们再确认一下,storage是否注册到了tracker中去。
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
成功后可以看到:
ip_addr = 192.168.150.132 (localhost.localdomain) ACTIVE 的字样
安装Nginx和fastdfs-nginx-module模块
切记!!!nginx必须在所有配置都完事了在启动,否则就凉凉,可以在启动的时候经常去看看nginx的error.log也行
(1)解压 nginx 和 fastdfs-nginx-module-master
cd /usr/local
tar -zxvf nginx-1.12.0.tar.gz
unzip fastdfs-nginx-module-master.zip
(2)在安装nginx之前要安装nginx所需的依赖lib
yum -y install pcre pcre-devel
yum -y install zlib zlib-devel
yum -y install openssl openssl-devel
(3)修改fastdfs-nginx-module-master/src/config文件
vi /usr/local/fastdfs-nginx-module-master/src/config
ngx_module_incs="/usr/include/fastdfs /usr/include/fastcommon/"
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
(4)配置,并加载fastdfs-nginx-module模块
cd nginx-1.12.0
./configure --prefix=/usr/local/nginx --add-module=/usr/local/fastdfs-nginx-module-master/src/
编译和安装
make
make install
(5)查看安装路径:whereis nginx
(6)配置mod-fastdfs.conf,并拷贝到/etc/fdfs文件目录下
cd /usr/local/fastdfs-nginx-module-master/src/
cp mod_fastdfs.conf /etc/fdfs
(7)进入/etc/fdfs修改mod-fastdfs.conf
base_path=/home/mm/fastdfs
tracker_server=192.168.1.134:22122 #tracker的地址
url_have_group_name=true #url是否包含group名称
store_path0=/home/mm/fastdfs/storage #文件存储的位置
(8)配置nginx,80端口server增加location如图
cd /usr/local/nginx/conf/
vi nginx.conf
location ~/M00 {
root /home/mm/fastdfs/storage/data;
ngx_fastdfs_module;
}
(9)最后需要拷贝fastdfs解压目录中的http.conf和mime.types
cd /usr/local/src/fastdfs-5.11/conf
cp mime.types http.conf /etc/fdfs/
(10)nginx启动、停止:
cd /usr/local/nginx/sbin/
./nginx
./nginx -s stop #此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程
./nginx -s quit #此方式停止步骤是待nginx进程处理任务完毕进行停止
./nginx -s reload
(11)查看此时的nginx版本:发现fastdfs模块已经安装好了
[root@localhost conf]# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.12.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)
configure arguments: --prefix=/usr/local/nginx --add-module=/usr/local/fastdfs-nginx-module-master/src
FastDFS常用命令测试
上传文件
- 进入/etc/fdfs目录,有cp命令拷贝client.conf.sample,删除.sample后缀作为正式文件;
-
修改client.conf相关配置:
base_path=/home/mm/fastdfs/tracker //tracker服务器文件路径 tracker_server=192.168.1.134:22122 //tracker服务器IP地址和端口号 http.tracker_server_port=80 # tracker服务器的http端口号,必须和tracker的设置对应起来
- 上传测试 /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/girl.jpg
[root@localhost ~]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/girl.jpg group1/M00/00/00/wKgBhl0Qm-SAfhCXAAhj4DKKH4E003.jpg
-
通过浏览器访问成功:http://192.168.1.134/group1/M00/00/00/wKgBhl0Qm-SAfhCXAAhj4DKKH4E003.jpg
下载文件
示例:
/usr/bin/fdfs_download_file /etc/fdfs/client.conf group1/M00/00/00/wKgBhl0Qm-SAfhCXAAhj4DKKH4E003.jpg a.jpg
删除文件
示例:
/usr/bin/fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/wKgBhl0Qm-SAfhCXAAhj4DKKH4E003.jpg