具体内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294
| 安装FastDFS环境 0、前言 操作环境:CentOS7 X64,以下操作都是单机环境。 我把所有的安装包下载到/softpackages/下,解压到当前目录。
先做一件事,修改hosts,将文件服务器的ip与域名映射(单机TrackerServer环境),因为后面很多配置里面都需要去配置服务器地址,ip变了,就只需要修改hosts即可。
# vim /etc/hosts
增加如下一行,这是我的IP 192.168.51.128 file.ljzsg.com
如果要本机访问虚拟机,在C:\Windows\System32\drivers\etc\hosts中同样增加一行 1、下载安装 libfastcommon libfastcommon是从 FastDFS 和 FastDHT 中提取出来的公共 C 函数库,基础环境,安装即可 。
① 下载libfastcommon
# wget https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gz ② 解压
# tar -zxvf V1.0.7.tar.gz # cd libfastcommon-1.0.7 ③ 编译、安装
# ./make.sh # ./make.sh install ④ libfastcommon.so 安装到了/usr/lib64/libfastcommon.so,但是FastDFS主程序设置的lib目录是/usr/local/lib,所以需要创建软链接。
# 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 2、下载安装FastDFS ① 下载FastDFS
# wget https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz ② 解压
# tar -zxvf V5.05.tar.gz # cd fastdfs-5.05 ③ 编译、安装
# ./make.sh # ./make.sh install ④ 默认安装方式安装后的相应文件与目录 A、服务脚本:
/etc/init.d/fdfs_storaged /etc/init.d/fdfs_tracker B、配置文件(这三个是作者给的样例配置文件) :
/etc/fdfs/client.conf.sample /etc/fdfs/storage.conf.sample /etc/fdfs/tracker.conf.sample C、命令工具在 /usr/bin/ 目录下:
复制代码 fdfs_appender_test fdfs_appender_test1 fdfs_append_file fdfs_crc32 fdfs_delete_file fdfs_download_file fdfs_file_info fdfs_monitor fdfs_storaged fdfs_test fdfs_test1 fdfs_trackerd fdfs_upload_appender fdfs_upload_file stop.sh restart.sh 复制代码 ⑤ FastDFS 服务脚本设置的 bin 目录是 /usr/local/bin, 但实际命令安装在 /usr/bin/ 下。
两种方式:
》 一是修改FastDFS 服务脚本中相应的命令路径,也就是把 /etc/init.d/fdfs_storaged 和 /etc/init.d/fdfs_tracker 两个脚本中的 /usr/local/bin 修改成 /usr/bin。
# vim fdfs_trackerd 使用查找替换命令进统一修改:%s+/usr/local/bin+/usr/bin # vim fdfs_storaged 使用查找替换命令进统一修改:%s+/usr/local/bin+/usr/bin
》 二是建立 /usr/bin 到 /usr/local/bin 的软链接,我是用这种方式。
# ln -s /usr/bin/fdfs_trackerd /usr/local/bin # ln -s /usr/bin/fdfs_storaged /usr/local/bin # ln -s /usr/bin/stop.sh /usr/local/bin # ln -s /usr/bin/restart.sh /usr/local/bin 3、配置FastDFS跟踪器(Tracker) 配置文件详细说明参考:FastDFS 配置文件详解
① 进入 /etc/fdfs,复制 FastDFS 跟踪器样例配置文件 tracker.conf.sample,并重命名为 tracker.conf。
# cd /etc/fdfs # cp tracker.conf.sample tracker.conf # vim tracker.conf ② 编辑tracker.conf ,标红的需要修改下,其它的默认即可。
复制代码 # 配置文件是否不生效,false 为生效 disabled=false
# 提供服务的端口 port=22122
# Tracker 数据和日志目录地址(根目录必须存在,子目录会自动创建) base_path=/ljzsg/fastdfs/tracker
# HTTP 服务端口 http.server_port=80 复制代码 ③ 创建tracker基础数据目录,即base_path对应的目录
# mkdir -p /ljzsg/fastdfs/tracker ④ 防火墙中打开跟踪端口(默认的22122)
复制代码 # vim /etc/sysconfig/iptables
添加如下端口行: -A INPUT -m state --state NEW -m tcp -p tcp --dport 22122 -j ACCEPT
重启防火墙: # service iptables restart 复制代码 ⑤ 启动Tracker
初次成功启动,会在 /ljzsg/fdfsdfs/tracker/ (配置的base_path)下创建 data、logs 两个目录。
可以用这种方式启动 # /etc/init.d/fdfs_trackerd start
也可以用这种方式启动,前提是上面创建了软链接,后面都用这种方式 # service fdfs_trackerd start 查看 FastDFS Tracker 是否已成功启动 ,22122端口正在被监听,则算是Tracker服务安装成功。
# netstat -unltp|grep fdfs
关闭Tracker命令:
# service fdfs_trackerd stop ⑥ 设置Tracker开机启动
# chkconfig fdfs_trackerd on
或者: # vim /etc/rc.d/rc.local 加入配置: /etc/init.d/fdfs_trackerd start ⑦ tracker server 目录及文件结构
Tracker服务启动成功后,会在base_path下创建data、logs两个目录。目录结构如下:
${base_path} |__data | |__storage_groups.dat:存储分组信息 | |__storage_servers.dat:存储服务器列表 |__logs | |__trackerd.log: tracker server 日志文件 4、配置 FastDFS 存储 (Storage) ① 进入 /etc/fdfs 目录,复制 FastDFS 存储器样例配置文件 storage.conf.sample,并重命名为 storage.conf
# cd /etc/fdfs # cp storage.conf.sample storage.conf # vim storage.conf ② 编辑storage.conf
标红的需要修改,其它的默认即可。
复制代码 # 配置文件是否不生效,false 为生效 disabled=false
# 指定此 storage server 所在 组(卷) group_name=group1
# storage server 服务端口 port=23000
# 心跳间隔时间,单位为秒 (这里是指主动向 tracker server 发送心跳) heart_beat_interval=30
# Storage 数据和日志目录地址(根目录必须存在,子目录会自动生成) base_path=/ljzsg/fastdfs/storage
# 存放文件时 storage server 支持多个路径。这里配置存放文件的基路径数目,通常只配一个目录。 store_path_count=1
# 逐一配置 store_path_count 个路径,索引号基于 0。 # 如果不配置 store_path0,那它就和 base_path 对应的路径一样。 store_path0=/ljzsg/fastdfs/file
# FastDFS 存储文件时,采用了两级目录。这里配置存放文件的目录个数。 # 如果本参数只为 N(如: 256),那么 storage server 在初次运行时,会在 store_path 下自动创建 N * N 个存放文件的子目录。 subdir_count_per_path=256
# tracker_server 的列表 ,会主动连接 tracker_server # 有多个 tracker server 时,每个 tracker server 写一行 tracker_server=file.ljzsg.com:22122
# 允许系统同步的时间段 (默认是全天) 。一般用于避免高峰同步产生一些问题而设定。 sync_start_time=00:00 sync_end_time=23:59 # 访问端口 http.server_port=80 复制代码 ③ 创建Storage基础数据目录,对应base_path目录
# mkdir -p /ljzsg/fastdfs/storage
# 这是配置的store_path0路径 # mkdir -p /ljzsg/fastdfs/file ④ 防火墙中打开存储器端口(默认的 23000)
复制代码 # vim /etc/sysconfig/iptables
添加如下端口行: -A INPUT -m state --state NEW -m tcp -p tcp --dport 23000 -j ACCEPT
重启防火墙: # service iptables restart 复制代码
⑤ 启动 Storage
启动Storage前确保Tracker是启动的。初次启动成功,会在 /ljzsg/fastdfs/storage 目录下创建 data、 logs 两个目录。
可以用这种方式启动 # /etc/init.d/fdfs_storaged start
也可以用这种方式,后面都用这种 # service fdfs_storaged start 查看 Storage 是否成功启动,23000 端口正在被监听,就算 Storage 启动成功。
# netstat -unltp|grep fdfs
关闭Storage命令:
# service fdfs_storaged stop 查看Storage和Tracker是否在通信:
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
⑥ 设置 Storage 开机启动
# chkconfig fdfs_storaged on
或者: # vim /etc/rc.d/rc.local 加入配置: /etc/init.d/fdfs_storaged start ⑦ Storage 目录
同 Tracker,Storage 启动成功后,在base_path 下创建了data、logs目录,记录着 Storage Server 的信息。
在 store_path0 目录下,创建了N*N个子目录:
5、文件上传测试 ① 修改 Tracker 服务器中的客户端配置文件
# cd /etc/fdfs # cp client.conf.sample client.conf # vim client.conf 修改如下配置即可,其它默认。
# Client 的数据和日志目录 base_path=/ljzsg/fastdfs/client
# Tracker端口 tracker_server=file.ljzsg.com:22122 ② 上传测试
在linux内部执行如下命令上传 namei.jpeg 图片
# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf namei.jpeg 上传成功后返回文件ID号:group1/M00/00/00/wKgz6lnduTeAMdrcAAEoRmXZPp870.jpeg
返回的文件ID由group、存储目录、两级子目录、fileid、文件后缀名(由客户端指定,主要用于区分文件类型)拼接而成。
|
本作品采用知识共享署名 4.0 中国大陆许可协议进行许可,欢迎转载,但转载请注明来自御前提笔小书童,并保持转载后文章内容的完整。本人保留所有版权相关权利。
本文链接:https://royalscholar.cn/2019/01/26/CentOS7下安装FastDFS环境/