- 安装fastdfs依赖插件libfastcommon
下载:https://github.com/happyfish100/libfastcommon/archive/V1.0.39.tar.gz
创建/usr/local/software/目录,用于我们存放需要的文件
mkdir -p /usr/local/software/
通过ftp服务,上传V1.0.39.tar.gz包
解压文件
cd /usr/local/software/
ls
tar -zxvf libfastcommon-1.0.39.tar.gz
进入解压后的文件夹,编译文件
cd libfastcommon-1.0.39/
ls
./make.sh
编译完成后,安装
./make.sh install
验证是否安装成功
cd /usr/lib64/
ls
因为机器是64位,所以安装后,会在/usr/lib64目录下生成.so的文件
建立软连接,使/usr/lib,/usr/lib64,/usr/local/lib三者都存在该安装文件
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
(这里因为之前已经建立过第一个软连接,所以安装时也会在lib中生成so文件,所以才会报已存在,这个不影响)。
至此,libfastcommon插件已经安装成功。
- 下载安装fastdfs
下载地址:https://github.com/happyfish100/fastdfs/releases
这里我们使用5.11版本,将安装包放到服务器上
解压fastdfs安装包
cd /usr/local/software/
tar -zxvf fastdfs-5.11.tar.gz
进入解压后的文件夹,编译文件
cd fastdfs-5.11/
ls
./make.sh
安装文件
./make.sh install
安装后,查看/usr/lib64下,依赖包是否生成
查看/usr/bin下,依赖命令是否安装
查看/etc/fdfs目录下,配置文件是否生成
如果上诉都正常,则表示fastdfs安装成功
- 修改配置,启动fastdfs服务
- 、修改tracker配置
进入/etc/fdfs目录下
cd /etc/fdfs/
复制并且重命名tracker文件
cp tracker.conf.sample tracker.conf
编辑文件
vi tracker.conf
修改如下配置文件
这个路径是tracker的数据及日志路径,需要提前自行创建
mkdir -p /home/fastdfs/log
启动tracker
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
查看tracker是否正常启动
只存在grep,说明tracker没有启动成功,查看tracker的启动日志
进入启动日志目录
cd /home/fastdfs/log/logs
查看日志
tail -f trackerd.log
如下报错
最终通过修改tracker.conf配置解决问题,修改如下:
之前为64K
修改为128K
重新启动tracker服务,且查看
说明tracker启动成功
(2)、修改storage配置
进入/etc/fdfs目录下
cd /etc/fdfs/
复制并且重命名storage文件
cp storage.conf.sample storage.conf
编辑文件
vi storage.conf
修改如下配置:
修改base_path如下
这个路径是storage的启动数据及日志路径
修改store_path0如下:
如果有多个挂载磁盘则定义多个store_path(如:store_path1...)
这个是文件保存的路径
修改tracker_server为我们建立的tracker的目录
如果有多个tracker,则配置多个tracker
这个是tracker服务的地址
修改storage的http请求端口
如上修改后,
启动storage服务
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
查看是否启动服务
ps -ef|grep fdfs
如上则表示启动成功
也可以通过monitor进行验证
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
同目录下(/etc/fdfs),配置client
cp client.conf.sample client.conf
编辑文件
vi client.conf
修改(base_path,tracker_server,tracker_server_port)如下
保存client.conf文件,测试上传图片是否成功
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /home/software/1111.jpg
如上,能正常返回图片信息,则说明上传成功,表明fastdfs安装成功
- 下载,安装配置nginx服务(在storage上安装)
Nginx下载地址:https://nginx.org/download/
本例中使用1.8.1版本
上传nginx及依赖组件
解压fastdfs-nginx-module_v1.16.tar.gz
tar -zxvf fastdfs-nginx-module_v1.16.tar.gz
进入解压后文件的src目录
cd fastdfs-nginx-module/src/
ls
修改config文件,去掉下图中的loacl
vi config
修改前
修改后
保存文件,之后把mod_fastdfs.conf文件复制到/etc/fdfs/目录下
cp -r mod_fastdfs.conf /etc/fdfs/
修改移动后的这个文件(/etc/fdfs目录下)
修改后如下
将fastdfs目录conf下的http.conf和mime.types复制到/etc/fdfs/目录下
创建nginx运行目录
mkdir -p /usr/local/nginx/
解压nginx
cd /usr/local/software/
tar -zxvf nginx-1.8.1.tar.gz
进入nginx的解压目录后,配置文件
cd nginx-1.8.1/
ls
./configure --prefix=/usr/local/nginx --add-module=/usr/local/software/fastdfs-nginx-module/src
编译nginx
make
如果报出如下的错误
进入
cd objs/
编辑Makefile文件
vi Makefile
去除下图红色圈出的-Werror后,保存
保存后,进入nginx根目录下,重新make
此时编译成功
安装nginx
make install
安装后,可以看到,已经在nginx运行目录下生成sbin和conf等文件(/usr/local/nginx需要提前自行创建)
配置nginx文件
cd conf/
vi nginx.conf
修改后如下
保存后,启动nginx
进入nginx运行目录的sbin下
cd ../sbin/
启动
./nginx
注意集成fastdfs后,nginx启动一定是两个进程,如果只有一个的话,说明启动异常,查看nginx日志,查看什么错误,再去解决问题
查看nginx日志
cd /usr/local/nginx/logs/
tail -300f error.log
关闭nginx服务
(1)、在sbin目录下关闭
./nginx -s stop
(2)、杀死nginx进程方式关闭
查看nginx进程
ps -ef|grep nginx
kill -9 61162
kill -9 61163
附录
- 、Fastdfs的工作实现
Tracker Server:跟踪服务器,主要做调度工作,起到均衡的作用;负责管理所有的 storage server和 group,每个 storage 在启动后会连接 Tracker,告知自己所属 group 等信息,并保持周期性心跳。
Storage Server:存储服务器,主要提供容量和备份服务;以 group 为单位,每个 group 内可以有多台 storage server,数据互为备份。
Client:客户端,上传下载数据的服务器,也就是我们自己的项目所部署在的服务器。
上传过程时序图:
下载过程时序图: