Centos7.5内网环境下搭建fastdfs文件服务器
由于最近需要在纯内网环境下搭建一个文件服务器,故使用fastdfs作为存储服务器。
1 jar包准备
2 安装FastDFS
2.1 安装libfastcommon
libfastcommon是FastDFS的一个公共库,在安装FastDFS之前要先安装这个库。
// 解压libfastcommon文件
$ tar -zxvf libfastcommon-1.0.36.tar.gz
//进入目录
$ cd libfastcommon-1.0.36
//编译
$ make
//安装
$ make install
2.2 安装fastdfs
//解压文件
$ tar -zxvf FastDFS_v5.11.tar.gz
//进入目录
$ cd fastdfs-5.11
//编译
$ make
//安装
$ make install
2.3 新建目录作为fastdfs的文件存储目录
//进入一个指定目录
$ cd /home
//新增一个存储目录
$ mkdir fastdfs
2.4 配置监听服务器
这里我们需要配置一个监听服务器,fastdfs的配置文件都写在/etc/fdfs目录下
$ cd /etc/fdfs
//将tracker.conf.sample文件重命名为tracker.conf
$ mv tracker.conf.sample tracker.conf
$ vim tracker.conf
//修改base_path
$ base_path=/home/fastdfs
2.5 配置存储服务器
与2.4方法相同的方法执行修改操作
$ cd /etc/fdfs
$ mv storage.conf.sample storage.conf
$ vi storage.conf
//修改base_path
$ base_path=/home/fastdfs
//修改store_path
store_path0=/home/fastdfs
//监听器的地址
tracker_server=${本机ip}:22122
(在文中配置的tracker_server为tracker_server=192.168.40.6:22122)
2.6 启动tracker与storage
找到文件执行即可
$ cd /usr/bin
$ ./fdfs_trackerd /etc/fdfs/tracker.conf restart
$ ./fdfs_storaged /etc/fdfs/storage.conf restart
启动后,可以查看一下fastdfs是否启动成功
$ ls /home/fastdfs/data/
2.7 测试上传
在上面的步骤下,我们已经将fastdfs搭建好了,下面我们需要测试一下是否可以上传图片
2.7.1 修改客户端配置
$ cd /etc/fdfs
$ mv client.conf.sample client.conf
$ vim client.conf
//修改base_path
$ base_path=/home/fastdfs
//修改tracker_server
tracker_server=192.168.40.6:22122
2.7.2 调用上传命令脚本
$ cd /usr/bin
$ ./fdfs_upload_file /etc/fdfs/client.conf /home/test.jpg(测试图片)
如果获得了该上传文件的所在uri,也就是该文件在fastdfs存储中的位置。
上传虽然成功了,但我们无法通过项目去直接http服务访问的,所以这个时候我们需要做一个nginx代理。
3 安装nginx与fastdfs-nginx-module
3.1 安装nginx与fastdfs-nginx-module配置
以下为源码安装
//解压fastdfs-nginx-module源码
$ unzip fastdfs-nginx-module
//解压nginx源码
$ tar -zxvf nginx-1.13.6.tar.gz
$ cd nginx-1.13.6
$ ./configure --prefix=/usr/local/nginx --add-module=/home/charles/fastdfs-nginx-module-master/src/
$ make
$ make install
3.2配置nginx
$ cd /usr/local/nginx
$ vi conf/nginx.conf
server {
listen 8065;
server_name 192.168.40.6;
...
location ~/group([0-9])/M00 {
ngx_fastdfs_module;
}
在此我们还不能够访问到,是因为没有加载插件配置的原因
将fastdfs-5.11/conf中的http.conf与mine.types复制到/etc/fdfs目录中用于fastdfs-nginx-module调用
$ cd /home/fastdfs-5.11/conf
$ cp http.conf /etc/fdfs/
$ cp mime.types /etc/fdfs/
将fastdfs-nginx-module-master/src中的mod_fastdfs.conf也复制到/etc/fdfs中
$ cd /home/fastdfs-nginx-module-master/src
$ cp mod_fastdfs.conf /etc/fdfs/
修改mod_fastdfs.conf
base_path=/home/fastdfs
tracker_server=192.168.40.6:22122
url_have_group_name = true
store_path0=/home/fastdfs
这个时候启动nginx即可显示