FastDFS部署主要牵扯3个组件。
Tracker,Storage,nginx(fastdfs-nginx-module)
一个Tracker下可以挂在多个Storage,从而实现分布式存储。同时也支持Storage挂在载多个Tracker下,实现Tracker的高可用。
这里仅进行单节点部署。
由于需要采用编译安装,这里提前准备安装环境。
yum -y install gcc-c++
yum -y install pcre-devel
yum install -y zlib-devel
下载fastDFS安装包
名称 | 版本 |
---|---|
libfastcommon | V1.0.43 |
fastdfs | V5.11 |
fastdfs-nginx-module | V1.20 |
nginx | V1.17.9 |
这里需要注意,fastdfs-nginx-module和fastdfs版本有绑定关系,这里安装的时候需要自行确认。
文件全部丢到/home下
1. 安装基础组件
tar zxvf libfastcommon-1.0.43.tar.gz
cd /usr/local/libfastcommon-1.0.43
./make.sh
./make.sh install
2. 安装FastDFS
tar -zxvf fastdfs-5.11.tar.gz
mv fastdfs-5.11 fastdfs
cd fastdfs
./make.sh
./make.sh install
这里有人说要修改make.sh文件,修改默认配置文件路径,我这里不改了,感觉实用默认路径查资料干啥的都好找。
看到fi标识没啥问题。如果报错,自行处理。
cd /etc/fdfs
mv client.conf.sample client.conf
mv storage.conf.sample storage.conf
mv storage_ids.conf.sample storage_ids.conf
mv tracker.conf.sample tracker.conf
上面是将默认提供的配置文件样例改为正式文件。
mkdir -p /home/data/fdfs
mkdir -p /home/data/fdfs/storage
mkdir -p /home/data/fdfs/storage/storage_info
mkdir -p /home/data/fdfs/storage/storage_data
mkdir -p /home/data/fdfs/storage/storage_data/data
mkdir -p /home/data/fdfs/client
上面是吧fastDFS需要用到的数据目录给创建出来,不然后面启动的时候会提示错误。
根据错误来补也行。
修改tracker.conf中参数
参数 位置 默认值 修改值 备注
port 11行 22122 22122
base_path 22行 /home/yuqing/fastdfs /home/data/fdfs/trackerData
store_group 53行 group2 group2
http.server_port 260行 8080 7090 建议修改,防止端口冲突
修改storage.conf中参数
参数 位置 默认值 修改值 备注
group_name 11行 group1 group1
port 24行 23000 23000
base_path 41行 /home/yuqing/fastdfs /home/data/fdfs/storage/storage_info
store_path_count 105行 1 1
store_path0 109行 /home/yuqing/fastdfs /home/data/fdfs/storage/storage_data
tracker_server 118行 192.168.209.121:22122 192.168.3.136:22122
http.server_port 284行 8888 7091 建议修改,防止端口冲突
修改client.conf中参数
参数 位置 默认值 修改值 备注
base_path 10行 /home/yuqing/fastdfs /home/data/fdfs/client
tracker_server 14行 192.168.0.197:22122 192.168.3.136:22122
http.tracker_server_port 58行 80 7090 和tracker端口对应
可任选一种方式:
fastdfs安装完成后悔自动注册系统服务,可以用系统服务直接启动,如下:
启动tracker
systemctl start fdfs_trackerd
启动storage
systemctl start fdfs_storaged
也可以使用命令启动
启动Tracker
/etc/fastdfs/tracker/fdfs_trackerd /home/conf/fdfs/tracker.conf start
启动 Storage
/etc/fastdfs/storage/fdfs_storaged /home/conf/fdfs/storage.conf
验证服务是否开启
ps -ef|grep fastdfs
结束进程就直接kill -9 就行了
但是注意,系统服务器懂得,你用ps看不到进程的
查看log
tail -f /home/data/fdfs/trackerData/logs/trackerd.log
tail -f /home/data/fdfs/storage/storage_info/logs/storaged.log
上传文件测试
cd /home/fastds/client
./fdfs_test /etc/fdfs/client.conf upload /home/test.txt
3. 安装nginx,配置fastdfs模块
tar -zxvf fastdfs-nginx-module-1.20.tar.gz
cp -rf /home/fastdfs-6.06/conf/mime.types /etc/fdfs/
cp -rf /home/fastdfs-6.06/conf/http.conf /etc/fdfs/
cp -rf /home/fastdfs-nginx-module-1.20/src/mod_fastdfs.conf /etc/fdfs/
解压fastdfs的nginx插件,复制fastdfs的mine.type和http.conf到fastdfs的配置目录下。
同时把插件的配置文件也复制过去。
修改配置
修改config参数:
cd /usr/local/fastdfs-nginx-module-1.20/src/
vim config
参数 位置 默认值 修改值 备注
ngx_module_incs 6行 /usr/local/include /usr/include/fastdfs /usr/include/fastcommon
CORE_INCS 15行 /usr/local/include /usr/include/fastdfs /usr/include/fastcommon
CFLAGS 10行 17行 /etc/fdfs/mod_fastdfs.conf /home/conf/fdfs/mod_fastdfs.conf
修改mod_fastdfs.conf参数:
cd /etc/fdfs
vim mod_fastdfs.conf
参数 位置 默认值 修改值 备注
base_path 10行 /tmp /home/data/fdfs/storage/storage_data
tracker_server 40行 tracker:22122 192.168.3.136:22122
store_path0 62行 /home/yuqing/fastdfs /home/data/fdfs/storage/storage_data
url_have_group_name 53行 false true
安装nginx
cd /home
tar -zxvf nginx-1.17.9.tar.gz
cd nginx-1.17.9
./configure --prefic=/usr/local/nginx --add-module=/usr/local/fastdfs-nginx-module-1.20/src
make && make install
configure过程中出错,根据错误提示进行处理,一般是缺少一些系统基础组件。
配置到systemd
vim /etc/systemd/system/nginx.service
[Unit]
Description=The Nginx HTTP Server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
这里注意,默认的pid在logs目录下,如果有自行配置,请自行修改。
修改ngixn.conf
server {
listen 7090;
server_name localhost;
location ~/group([0-9])/{
root /home/data/fdfs/storage/storage_data/data
ngx_fastdfs_module;
}
}
这里的端口号7090要与tracker.conf中的对起来
启动nginx
systemctl start nginx
然后放通相关端口
就可以试一下之前上传的文件可以下载了。