因为服务器平时就自己玩,这里都是使用root账户进行操作,
如果后面出现connect time out 可以尝试重启storage和tracker服务,修改nginx配置文件后,重启nginx
这是fastdfs作者的github地址,里面有我们搭建环境需要的资源
https://github.com/happyfish100
或者使用百度网盘我下好的资源
链接:https://pan.baidu.com/s/1YIDLJIMHAqm0UtInxTjFvQ
提取码:0130
这里有本次搭建需要的所有压缩包
#centos可以先行yum安装相关依赖,ubuntu的依赖命令在后面
yum install -y libevent #FastDFS依赖libevent库 libevent-2.0.21-4.el7.x86_64
yum -y install gcc
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
# 没有make的需要安装一下make
yum install -y make
#在root同级目录下递归创建文件夹
#存放对应追踪器,存储节点,和日志数据
mkdir -p /fastdfs/tracker
mkdir -p /fastdfs/storage
mkdir -p /fastdfs/logs
#本次安装所有压缩包和测试图片放在这里,这里和root目录同级
mkdir /download
下载安装libfastcomman
cd /download/
#解压
tar -zxvf libfastcommon-1.0.48.tar.gz
#进入刚刚解压出来的文件夹
cd libfastcommon-1.0.48
#编译
./make.sh
#安装
./make.sh install
# 复制文件,解决FastDFS中lib配置文件路径问题。
#网上有些文章是写了软链接啥的,这里应该是起类似的效果
cp /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
cp /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
2.下载安装FastDFS。安装完成后,默认配置文件目录为: /etc/fdfs/,默认命令放在 /usr/bin/中,以 fdfs_开头
#进入我们放置压缩包的文件夹
cd /download/
#使用解压缩命令 解压fastdfs压缩包
tar -zxvf fastdfs-6.07.tar.gz
#进入解压产生的fastdfs文件夹然后编译和安装
cd fastdfs-6.07
./make.sh
./make.sh install
#安装后进入conf文件夹
cd conf/
#进入conf后使用pwd可以查看当前路径
/download/fastdfs-6.07/conf
#把conf文件夹下所有文件复制到/etc/fsds/下,后续修改的配置文件都是这里的
cp * /etc/fdfs/
下面是配置tracker
#进入/etc/fdfs/文件夹
cd /etc/fdfs/
vim tracker.conf
#找到base_path修改如下
base_path=/fastdfs/tracker
#修改后启动tracker
fdfs_trackerd /etc/fdfs/tracker.conf start
#使用如下命令查看,出现tracker相关数据即可
ps -ef | grep fdfs
配置storage
#配置storage(即刚刚配置tracker的同级/etc/fdfs)
vim storage.conf
#修改
#日志目录(# the base path to store data and log files)
base_path=/fastdfs/storage
#存储目录( # store_path#, based on 0, to configure the store paths to store files)
store_path0=/fastdfs/storage
#tracker节点,在这里配自己服务器的外网ip,只配置一个ip的话,另一个最好注释掉
tracker_server=192.168.1.4:22122
#启动storage
fdfs_storaged /etc/fdfs/storage.conf start
#同tracker的查看方式,使用命令看看是否有storage的服务
ps -ef | grep fdfs
#依然是/etc/fdfs/下
vim client.conf
#tracker节点
tracker_server=192.168.1.4:22122
#日志路径
base_path=/fastdfs/logs
#这里配置端口(和nginx中自己配置的端口保持一致)
http.tracker_server_port = 8555
#测试上传
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /download/a.png
#安装nginx和关联文件
cd /download/
tar -zxvf fastdfs-nginx-module-1.22.tar.gz
tar -zxvf nginx-1.19.8.tar.gz
cd nginx-1.19.8
#安装libpcre3-dev 和 zlib1g-dev 不然无法编译
apt install libpcre3-dev
apt install zlib1g-dev
#--prefix 编译的时候用来指定程序存放路径
./configure --prefix=/usr/local/nginx --add-module=/download/fastdfs-nginx-module-1.22/src/
#编译nginx
make
#安装nginx
make install
#把配置文件放到/etc/fdfs下面
cd /download/fastdfs-nginx-module-1.22/src/
cp mod_fastdfs.conf /etc/fdfs/
vim /etc/fdfs/mod_fastdfs.conf
#修改如下内容
connect_timeout=15 # 客户端访问文件连接超时时长(单位:秒)
# the base path to store log files
#这里可改可不改,但是这个路径对应必须存在
base_path=/fastdfs/logs # 存储日志路径
tracker_server=192.168.1.4:22122 # tracker服务IP和端口
url_have_group_name=true # 访问链接前缀加上组名
# must same as storage.conf
store_path0=/fastdfs/storage # 文件存储路径
vim /usr/local/nginx/conf/nginx.conf
#在配置文件中额外添加一个server
server {
listen 8555;#端口和client.conf中的保持一致
server_name fastdfs;
location ~/group[0-9]/ {
ngx_fastdfs_module;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
启动nginx
/usr/local/nginx/sbin/nginx
#如果报80端口被占用,就把原来的80端口修改为其他端口在安全组开放即可
#重启nginx
/usr/local/nginx/sbin/nginx -s reload
#查看端口占用情况
netstat -tunlp | grep 端口
# 启动和停止tracker
#启动
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
# 重启
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
# 停止
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf stop
#启动和停止storage
#启动
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
# 重启
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
# 停止
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf stop
进入阿里云控制台找到安全组把端口22122和23000打开,然后nginx配置文件里面的端口也要一并打开
#测试能否获取图片地址,把获取到的地址直接在浏览器访问即可
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /download/a.png
返回样例,如果放到浏览器可以访问则搭建成功
使用fastdfs-client-java测试
https://blog.csdn.net/WXL0130/article/details/115379893