一、软件准备
环境需要准备四个包,分别是:
1. libfastcommon_1.0.36
2. FastdfsFastdfs_v5.11
3. fastdfs-nginx-module5.11
4. nginxnginx-1.12.2
二、环境准备
安装perl环境,后续编译fastdfs会用到
yum -y install perl*
yum -y install cpan
安装gcc编译器,fastdfs是用c语言开发而来的。
yum -y install gcc-c++
在安装Nginx之前需要先安装一些模块依赖的lib库:pcre-devel、zlib-devel、openssl-devel
如果不需要安装Nginx,这几个库可以不安装。
yum -y install pcre pcre-devel
yum -y install zlib zlib-devel
yum -y install openssl openssl-devel
解压压缩包
#在/usr/local下创建文件夹
mkdir fastdfs
#解压上传的四个文件到上面的文件夹中
tar -zxvf libfastcommon-1.0.36.tar.gz -C /usr/local/fastdfs/
tar -zxvf fastdfs-5.11.tar.gz -C /usr/local/fastdfs/
tar -zxvf nginx-1.12.2.tar.gz -C /usr/local/fastdfs/
tar -zxvf fastdfs-nginx-module-1.20.tar.gz -C /usr/local/fastdfs/
三、安装libfastcommon
#进入libfastcommon目录
cd libfastcommon-1.0.36/
#编译安装
./make.sh
./make.sh install
出现上图,表明libfastcommon安装成功。
四、安装Fastdfs
#同理,进入fastdfs-5.11
cd fastdfs-5.11/
#编译
./make.sh
./make.sh install
编译成功,会生成一下四个配置文件:
进行拷贝重命名,以备用,执行命令如下:
cp client.conf.sample client.conf
cp storage.conf.sample storage.conf
cp storage_ids.conf.sample storage_ids.conf
cp tracker.conf.sample tracker.conf
执行结果如下:
再讲conf文件夹下的http.conf 和 mime.types文件拷贝到/etc/fdfs/目录中,执行命令如下:
cp http.conf /etc/fdfs/
cp mime.types /etc/fdfs/
到这,fastdfs安装就成功了。下面就是对一下配置文件的配置了。
4.1 配置Tracker
创建文件夹:即用于存储tracker的数据 文件和日志文件等。此路径在后续的tracker文件配置中都用到。
mkdir /opt/fastdfs_tracker
修改/etc/fdfs目录下的tracker.conf配置文件,打开文件后依次做如下修改:修改成刚创建的路径
配置完毕后,启动tracker服务器
#启动
service fdfs_trackerd start
启动完成后,可以在刚创建的文件夹中(/opt/fastdfs_tracker)找到两个新文件,如下图所示:
4.2 配置Storage
配置storage和配置tracker流程一致。
创建storage服务器的文件目录fastdfs_storage,同时比tracker多创建一个文件存储路径,目录为:fastdfs_storage_data,用来存放接收的文件。
mkdir /opt/fastdfs_storage
mkdir /opt/fastdfs_storage_data
同理,修改storage的配置文件。目录/etc/fdfs/storage.conf的文件。
cd /etc/fdfs/
vim storage.conf
这个配置文件需要修改三个位置,分别如下图:
第一个位置:
第二个位置:
第三个位置:
这三个位置配置完后,需要开启storage。
这里需要注意:开启storage时,必须先开启tracker。
因为上面我们已经开启了tracker,所以现在开启storage即可。
service fdfs_storaged start
执行后,会有如下提示:
证明启动成功了。
此时,可以再创建的/opt/fastdfs_storage_data/目录下,看到data文件夹。如下图所示:
到这了,storage的配置就完成了。
查看一下这tracker和storage两个服务的状态,用下面的命令查看:
netstat -unltp |grep fdfs
执行结果:
可以看到,两个端口已经成功监听了。
tracker:22122
storage:23000
确认storage服务器启动成功后,还有一项工作就是看看storage服务器是否已经登记到tracker服务器(也可以理解为tracker与storage是否整合成功),运行以下命令:
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
执行结果如下图:
到这里,storage服务器真正配置完成。
4.3 配置客户端client
同理,编辑/etc/fdfs/client.conf文件,用如下命令:
cd /etc/fdfs/
vim client.conf
修改两个位置即可,见下图:
配置成功后,可以做个简单的测试验证。
首先,创建一个文件,并编写内容。
#里面随便写点数
vim t.txt
其次,执行客户端上传命令:
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf t.txt
执行后,会出现下图,证明上传成功:
返回的路径就只文件的存储目录,在/opt/fastdfs_storage_data目录下
到这里,测试就成功了。
如果想在浏览器里面查看存储的文件,就需要执行第五、第六的章节了。
安装Nginx和fastdfs-nginx-module。如果不需要再浏览器中查看,可以忽略下面的内容。
五、安装fastdfs-nginx-module
进入fastdfs-nginx-module/src中,将mod_fastdfs.conf文件复制到/etc/fdfs/目录下
cp mod_fastdfs.conf /etc/fdfs/
#并且修改mod_fastdfs.conf的内容
vim /etc/fdfs/mod_fastdfs.conf
这个配置文件需要修改三个位置。
第一个位置:
第二个位置:
第三个位置:
修改fastdfs-nginx-module-1.20/src/config文件,修改如下:(为了解决后面Nginx编译失败)
ngx_module_incs="/usr/include/fastdfs /usr/include/fastcommon/"
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
到这,插件配置完毕。
六、安装Nginx
进入Nginx的目录
cd /usr/local/fastDfs/nginx-1.12.2/
对Nginx重新config(就是把上面的nginx插件加入到Nginx中)
先查询插件的解压路径(我的在/usr/local/fastDfs/fastdfs-nginx-module-1.20/src)
查询后填写在module=后面
进入到nginx文件夹中,执行此命令
./configure --add-module=/usr/local/fastDfs/fastdfs-nginx-module-1.20/src
插件安装成功后在进行进行编译安装
make
make install
安装完成后再指定路径/usr/local/nginx可查看到安装的目录
进入到安装目录后,再进入conf
编辑nginx.conf
增加以下内容
#location放在server里面
location ~/group1/M00 {
root /opt/fastdfs_storage_data/data;
ngx_fastdfs_module;
}
再进入sbin启动Nginx
cd ..
cd sbin/
./nginx
启动成功后查看进程
ps -aux | grep nginx
在输入服务器的公网IP,可以看见nginx的页面。
我们再来测试刚刚上传的txt
ip后再加上这一串,就可以在浏览器上访问了
至此,全部完成
成功后,可以将tracker服务和Storage设置为开机启动
打开/etc/rc.d/目录,在rc.local中添加service fdfs_trackerd start和service fdfs_storaged start
并且对rc.local进行授权。
授权
chmod +x /etc/rc.d/rc.local
到此,全部安装成功。