运营同事上传视频时候上传不上去,作为技术的我出马,首先问题定位,发现fdfs磁盘满了上传文件上传不上去了,报错磁盘满了,于是df -h查看磁盘发现还有90%内存,fdfs中设置的是剩余10%时候不在上传文件,因此导致上述报错,于是开始扩容
一、去阿里云买一块硬盘
二、挂载硬盘
挂载命令
lsblk//查看控制的硬盘
mkdir /mnt1 //创建挂载目录
mount /dev/sdb /mnt1 //开始挂载
挂载时候居然报错了提示 you must specify the filesystem type
于是执行
mkfs.ext3 /dev/sdb //格式化硬盘
再次执行挂载命令
mount /dev/sdb /mnt1
挂载成功 df -h 即可查看到挂载成功的硬盘
三、给fdfs扩容
mkdir /mnt1/fastdfs //在新盘中创建文件夹用来存放数据
2)修改 /etc/fdfs/storaged.conf
store_path_count=2
store_path0=/mnt/fastdfs
store_path1=/mnt/fastdfs
3)修改 /etc/fdfs/mod_fastdfs.conf
store_path_count=2
store_path0=/mnt/fastdfs
store_path1=/mnt/fastdfs
4)修改nginx
location ~/group1/M00 {
/mnt/fastdfs/data;
ngx_fastdfs_module;
}
location ~/group1/M01 {
/mnt1/fastdfs/data;
ngx_fastdfs_module;
}
5)重启fdfs
/etc/init.d/fdfs_storaged start
/etc/init.d/fdfs_trackerd start
6)重启nginx
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
按上述步骤即可以扩容成功
四、报错处理
重启之后发现文件可以上传成功,但是无法访问,访问时候报错400 badrequest
解决办法
1)检查nginx 中mod_fastdfs.log日志
发现报错 ERROR - file: /opt/soft/fastdfs-nginx-module/src/common.c, line: 764, filename: M01/00/63/rBDOzmEslHeELQvhAAAAACbFkwE777.mp4 is invalid, invalid store path index: 1, which < 0 or >= 1
ERROR - file: /opt/soft/fastdfs-nginx-module/src/common.c, line: 764, filename: M01/00/63/rBDOzmEslHeELQvhAAAAACbFkwE777.mp4 is invalid, invalid store path index: 1, which < 0 or >= 1
经过研究之后发现
修改 /etc/fdfs/mod_fastdfs.conf
store_path_count=2 并未修改成功仍然是
store_path_count=1
于是重新修改 /etc/fdfs/mod_fastdfs.conf
store_path_count=2
::wq保存
重新启动nginx,一切就搞定