step 1 : 准备材料
链接:https://pan.baidu.com/s/1_vGoqA-FJIHcYI5NJZAxuw 密码:67cu
step 2: 安装fastdfscommon
2-1: 安装所需要的依赖环境 yum -y install libevent
2-2: 解压fastdfscommon压缩包 tar -zxvf libfastcommon-1.0.7.tar.gz
2-3: 进入刚解压出来的fastdfscommon文件夹, 找到make.sh文件用它来进行编译 ./make.sh
如果编译出错,解决方案如下:
yum install gcc-c++
yum install pcre pcre-devel
yum install zlib zlib-devel
yum install openssl openssl-devel
2-4: 安装刚刚编译的fastdfscommon文件 ./make.sh install
2-5: 安装后会安装到目录 /usr/lib64, 该目录有很多文件,进入此目录查看所有可以使用以下命令 ll libfast*
2-6: 因为lib64是64位的环境, 所以我们要将它移至目录 /usr/lib, cp libfastcommon.so /usr/lib
step 3: 安装tracker服务
3-1 : 找到 fastdfs-5.05.tar.gz压缩文件 ,然后解压它, tar -zxvf fastdfs-5.05.tar.gz
3-2: 进入刚解压出来的fastdfs-5.05.文件夹, 找到make.sh文件用它来进行编译 ./make.sh
3-3: 安装刚刚编译的fastdfscommon文件 ./make.sh install
3-4: 安装完后,fastdfs会在目录 /usr/bin/ 添加了以fdfs为前缀的文件,查看命令如下 ll fdfs*
3-5: 另外fastdfs也会在 目录 /etc/fdfs/ 添加相关配置,转到该目录 cd /etc/fdfs/ , 然后查看此目录相关文件 ll
3-6: 然后转到 已经解压出来的fastdfs-5.05 文件夹目录, 里面会有conf文件夹目录, 再进入到此目录中, 如图
3-7: 将上面所有文件全部拷贝到 目录 /etc/fdfs/ 中去 cp * /etc/fdfs/ ,转到目录/etc/fdfs/, 查看此目录内容 ll
3-8: 修改 tracker.conf 文件 vim tracker.conf , 找到 base_path 关键字符串(此路径也就是日志的保持路径, 这个随意填写)
base_path=/fastdfs/tracker
3-9: 创建上面所填写修改的路径, (上面是 /fastdfs/tracker) mkdir /fastdfs/tracker -p
3-10: 分别在根目录 / 创建 storage , client和tmp , 为下面准备 mkdir /fastdfs/storage -p, mkdir /fastdfs/client -p, mkdir /fastdfs/tmp -p
进入cd /fastdfs ll 查看目录结构
3-11: (可以先进入 cd /usr/bin回车,查看ll fdfs*)启动tracker服务 /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf 按下回车(重启命令 /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart)
step 4: 安装storage服务
4-1: 上面我们已经在根目录的fastdfs /fastdfs 创建了client, storage和tracke三个目录 ll /fastdfs (如上图所示)
4-2: 进入 /etc/fdfs目录下 cd /etc/fdfs/, 然后修改 storage.conf文件 vim storage.conf ,找到 base_path 关键字然后修改此路径(日志保存的路径)
4-3: 再找 group name 关键字 (即主机的名称)wdzl
4-4: 再找 store_path0 (文件存储的路径)
4-5: 再配置与tracker 关联起来 , 配置完后保存退出 :wq
配置 tracker 服务器的地址 192:168.1.103:22122 这里应该是你自己tracker的地址
4-6: 启动storage服务, 目录转到/usr/bin/目录下 ./fdfs_storaged /etc/fdfs/storage.conf 命令启动服务 (./fdfs_storaged /etc/fdfs/storage.conf restart) 重启
4-7: 可以查看服务有没有启动 ps aux | grep storage
step 5: 配置client并且上传测试图片
5-1: 转到 /etc/fdfs/ 目录下, 然后修改client.conf文件 vim client.conf, 找到 base_path 关键字 (存储日志的目录) 与 配置tracker服务器的地址
5-2: 目录转到 /usr/bin目录下, 会有个client_test文件 启动 /usr/bin/fdfs_test /etc/fdfs/client.conf upload /home/testPic.jpg
ps: /home/1.jpg 就是你要上传测试的图片地址
group_name =wdzl
remote_filename 就是图片的url地址,等下面配置好nginx后可以用它 (group_name + remote_filename)的地址来访问此图片,就像example file 所显示的那个地址
刚刚测试上传的图片文件 保存在 /fastdfs/storage/data/00/00/ 目录下
step 6: fastdfs与nginx配置
6-1: 找到之前上传的 fastdfs-nginx-module.tar.gz 压缩包文件, 解压它 tar -zxvf fastdfs-nginx-module.tar.gz
6-2: 进入解压后的文件的src目录下, 然后修改config文件 vim config , 替换下面的代码,或者把local字样去掉
ngx_addon_name=ngx_http_fastdfs_module
HTTP_MODULES=“
H
T
T
P
M
O
D
U
L
E
S
n
g
x
h
t
t
p
f
a
s
t
d
f
s
m
o
d
u
l
e
"
N
G
X
A
D
D
O
N
S
R
C
S
=
"
HTTP_MODULES ngx_http_fastdfs_module" NGX_ADDON_SRCS="
HTTPMODULESngxhttpfastdfsmodule"NGXADDONSRCS="NGX_ADDON_SRCS
n
g
x
a
d
d
o
n
d
i
r
/
n
g
x
h
t
t
p
f
a
s
t
d
f
s
m
o
d
u
l
e
.
c
"
C
O
R
E
I
N
C
S
=
"
ngx_addon_dir/ngx_http_fastdfs_module.c" CORE_INCS="
ngxaddondir/ngxhttpfastdfsmodule.c"COREINCS="CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/”
CORE_LIBS=“
C
O
R
E
L
I
B
S
−
L
/
u
s
r
/
l
i
b
−
l
f
a
s
t
c
o
m
m
o
n
−
l
f
d
f
s
c
l
i
e
n
t
"
C
F
L
A
G
S
=
"
CORE_LIBS -L/usr/lib -lfastcommon -lfdfsclient" CFLAGS="
CORELIBS−L/usr/lib−lfastcommon−lfdfsclient"CFLAGS="CFLAGS -D_FILE_OFFSET_BITS=64 -DFDFS_OUTPUT_CHUNK_SIZE=‘256*1024’ -DFDFS_MOD_CONF_FILENAME=’”/etc/fdfs/mod_fastdfs.conf"’"
ps 上面的路径要与之前的路径对应,如果是按照上面配置的话,可以直接粘贴
step 7: 安装nginx和配置
7-1: 安装nginx 所需要的库(如果前面安装过,此处无需安装)
7-2: 找到之前上传的 nginx 压缩包 tar -zxvf nginx-1.12.0.tar.gz
7-3: 解压后转到该文件夹根目录下, 如 (/home/nginx-1.12.0) ,最后复制粘贴下面的代码,修改–add-module是指向你fastdfs-nginx-module的src文件所在路径, 最后按下回车
7-4: 编译并安装nginx, 在该文件夹根目录下, 如 (/home/tar/nginx-1.15.0) 输入编译命令 make ,然后安装 make install
7-5: 安装完后在 /usr/local/ 目录下会多出nginx文件目录, 进入此目录
7-6: 转到 上面所解压完的fastdfs-nginx-module 文件夹进入到里面的src目录下, 拷贝 mod_fastdfs.conf 文件到 /etc/fdfs 目录下
cp mod_fastdfs.conf /etc/fdfs
7-7: 进入到 /etc/fdfs 目录下, 然后修改 mod_fastdfs.conf 文件 vim mod_fastdfs.conf, 修改如下图
配置 tracker 服务器的地址 192:168.1.103:22122 这里应该是你自己tracker的地址
配置之前所设置的 group_name
配置是否需要添加组织的名字 , 设置为true
配置store_path0 , 如下图所示
7-8: 进入 nginx 安装目录 进入conf 目录(usr/local/nginx/conf ll)
7-9: 编辑 nginx.conf 配置文件 vim nginx.conf, 添加新的服务器节点 , 最后保存 :wq
server_name 192.168.1.103 就是要被访问的服务器地址, 这里需要换你自己的ip
7-10: 检测 nginx 转到nginx安装目录下的sbin的目录下 (启动之前可以 使用 ./nginx -t 检测是否配置正确)
问题一:如果出现下图问题:
进入nginx 解压后的目录,删除Makefile文件
重新进入nginx解压后的目录,如:cd /home/tar/nginx-1.15.2 回车,将
下图代码进行重新编译:
回车,然后进入nginx解压后的根目录进行编译和安装,输入命令 make && make install 回车即可。
再次进入nginx安装目录下的sbin目录,输入命令 ./nginx -t,结果如下图:
问题二:缺少目录结构 这里报了 没有/var/temp/nginx目录, 所以要创建/var/temp/nginx/clent 文件夹mkdir /var/temp/nginx -p
然后再检测一次 ./nginx -t (successful)
7-11:启动 nginx ./nginx
step 8 查看上传到 fsatdfs 图片
8-1: 先关闭防火墙
8-2: 打开浏览器 输入图片地址 如果出现下面的画面
需要再配置下 mod_fastdfs.conf 文件 vim mod_fastdfs.conf
转到mod_fastdfs 目录下(/etc/fdfs) ll
编辑 mod_fastdfs.conf 找到 store_path0 关键字 , 将它指向你fastdfs的storage目录的路径, 如图 , 最后保存退出 :wq
重启track(cd /usr/bin # fdfs_trackerd /etc/fdfs/tracker.conf ),storage(cd /usr/bin # fdfs_storaged /etc/fdfs/storage.conf ),服务器,最后重启ningx服务器(cd /usr/local/nginx/sbin) ./nginx -s reload ,
无上述问题,无需重启track、storage 服务,接下来在浏览器输入以下地址:
http://192.168.1.103/wdzl/M00/00/00/图片名称