这几天新项目有存储文件的需求,但是不能花钱 所以在网上找了一下免费的Fastdfs的安装配置以及整合Nginx的过程,现在给大家分享一下
1,下载所需的各式安装包,所需要的包如下
2,将这些包上传到服务器的/usr目录下并依次解压 解压命令为
tar -zvxf 包名
3,首先先安装libfastcommon 这个是fastdfs的依赖包,进入libfastcommon的解压目录执行
./make.sh
./make.sh install
4,设置软链接 这个主要是解决32位系统和64位系统的问题
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
5,安装fastdfs-5.11,进入fastdfs-5.11的解压目录执行
./make.sh
./make.sh install
执行完成之后会在系统的/etc/fdfs目录下生成几个配置文件,我们依次来看
- 1,先复制一份tracker.conf.sample并重命名
-
cp tracker.conf.sample tracker.conf vi tracker.conf
- 修改base_path为/data(这个由自己修改成自己需要的目录即可,是用来存放数据的目录,请修改完之后及时创建目录,不然启动会报错)
- 2,我们再来修改storage.conf
-
cp storage.conf.sample storage.conf vi storage.conf
- 修改base_path为/data(同样,在保证存在的情况下可以随意修改)
- 修改store_path为/data
- 修改tracker_server的ip为服务器的ip,端口没有修改就不要动了
- 3,去新建/data目录(如果上面两点修改的目录和我不一样请根据实际情况创建)
-
cd / mkdir data chmod 777 data
6,测试文件上传功能是否正常,先启动服务
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
测试上传图片(我之前在根目录已经上传了一张图片为test.jpg)
fdfs_test /etc/fdfs/client.conf upload /test.jpg
正常返回如下
可以看到已经正常返回了文件的路径(由于某些原因ip被我打码了),但是这个用这个路径是无法访问到图片的,因为fastdfs不支持http访问如果需要访问的话需要使用nginx代理
接下来开始安装配置nginx
首先安装fastdfs-nginx-module-1.20 这个是作者对nginx做的一个模块
进入解压目录
cd /usr/fastdfs-nginx-module-1.20/src
vi config
修改
CORE_INCS="$CORE_INCS /usr/local/include/fastdfs /usr/local/include/fastcommon/"
为
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
将src目录下的mod_fastdfs.conf文件复制到/etc/fdfs
cp mod_fastdfs.conf /etc/fdfs
修改 mod_fastdfs.conf文件
vi /etc/fdfs/mod_fastdfs.conf
修改base_path 我还是修改成/data了
修改tracker_server ip改成服务器ip
修改store_path0为/data
修改url_have_group_name为true
现在开始安装nginx
进入nginx的解压目录
执行
./configure --prefix=/usr/local/nginx --add-module=/usr/fastdfs-nginx-module-1.20/src
注意,后面的src的目录一定要对,不然会报错
然后执行
make
make install
这两步如果报错了的同学 请检查一下nginx所需要的依赖是否都已经装好
apt-get install build-essential
apt-get install libtool
apt-get install libpcre3 libpcre3-dev
apt-get install zlib1g-dev
apt-get install openssl
安装完成之后检查一下nginx的配置文件
nginx -t
按照路径找到nginx.conf 修改里面的内容
将监听端口修改成8888 这是和storage.conf里面的http.server_port=8888一致
然后加上fastdf的模块
location ~/group([0-9])/M00 {
ngx_fastdfs_module;
}
到目前为止就已经安装配置完成了 最后测试一下 我从百度找了一张小猪佩奇的图片 timg.jpg 放在了系统根目录
可以看到上传成功了,接下来用http访问图片
大功告成,如果各位同学在安装中有什么疑问欢迎留言,大家一起讨论