以下是“fastdfs+nginx集群搭建的实现”的完整攻略:
准备工作
- 安装 fastdfs 基础环境
- 安装 libfastcommon
-
安装 FastDFS
-
安装 nginx 和 fastdfs-nginx-module
配置 fastdfs 组件
- 修改 tracker 的配置文件 tracker.conf。
bash
# 修改 tracker_server 配置
tracker_server=ip1:port1,ip2:port2
其中,ip1:port1
和 ip2:port2
分别代表两个 tracker 的地址。
- 修改 storage 节点的配置文件 storage.conf。
```bash
# 修改 tracker 服务器的地址
tracker_server=ip1:port1,ip2:port2
# 修改 storage 的 group 名称
group_name=group1
# 修改存储路径
store_path0=/data/fastdfs/storage1
# 修改日志文件路径
log_file=/data/fastdfs/storage1/logs/storaged.log
```
其中,ip1:port1
和 ip2:port2
分别代表两个 tracker 的地址,store_path0
表示存储路径。
配置 nginx
-
编译 nginx 并安装。
-
在 nginx 配置文件中增加 fastdfs 代理模块配置,示例如下所示:
nginx
location /group1/M00 {
root /data/fastdfs/data;
ngx_fastdfs_module;
}
其中,/data/fastdfs/data
为 fastdfs storage 节点的存储路径。
测试
- 启动 fastdfs
- 启动 tracker
-
启动 storage
-
启动 nginx
-
将配置文件路径加入启动命令中,如:
-c /usr/local/nginx/conf/nginx.conf
-
上传测试文件
-
使用官方提供的 fdfs_upload_file 工具上传测试文件,如:
bash
# 上传文件(需要指定 storage 的组名和路径)
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /tmp/test.jpg上传成功后会返回该文件在 fastdfs 中的路径和文件名,例如:
group1/M00/00/00/test.jpg
-
测试文件下载
-
使用浏览器或 curl 等工具访问该文件,如:
bash
# curl 下载文件
curl http://ip:port/group1/M00/00/00/test.jpg --output /tmp/test.jpg下载成功后会在本地生成
/tmp/test.jpg
文件,可以用图片查看软件进行打开确认是否下载成功。
示例:
假设现有两个 storage 节点,一个 tracker 节点和一个 nginx 代理服务器,分别是:
节点类型 | IP地址 | 端口号 |
---|---|---|
Tracker | 10.0.0.1 | 22122 |
storage1 | 10.0.0.2 | 23000 |
storage2 | 10.0.0.3 | 23000 |
Nginx | 10.0.0.4 | 80 |
则可按以上攻略的步骤,分别在三个节点上完成基础环境的安装与 fastdfs 和 nginx 的编译安装,之后分别进行如下配置:
Tracker 节点配置
修改 tracker.conf
,增加如下配置:
base_path=/data/fastdfs/tracker
tracker_server=10.0.0.1:22122,10.0.0.2:22122,10.0.0.3:22122
其中,base_path
为 fastdfs tracker 的基本路径,10.0.0.1:22122,10.0.0.2:22122,10.0.0.3:22122
为该 tracker 节点所管理的所有 storage 节点的 IP 地址与端口。
Storage 节点配置
在 storage.conf
中增加如下配置:
base_path=/data/fastdfs/storage1
store_path0=/data/fastdfs/storage1
tracker_server=10.0.0.1:22122,10.0.0.2:22122,10.0.0.3:22122
group_name=group1
其中,base_path
和 store_path0
为 fastdfs storage 的基本路径与存储路径,group_name
为分组名称。
Nginx 代理服务器配置
在 nginx.conf
中增加如下配置:
http {
...
server {
listen 80;
server_name localhost;
location /group1/M00/ {
root /data/fastdfs/storage1/data;
ngx_fastdfs_module;
}
}
...
}
其中,location /group1/M00/
为通过 nginx 访问 fastdfs 的路径,后面 /data/fastdfs/storage1/data
为 storage 节点上的数据存储路径。
之后,上传一个本地图片文件,上传命令如下:
fdfs_upload_file /etc/fdfs/client.conf test.jpg
上传成功后会返回一个文件名称,形如 group1/M00/00/00/xxx.jpg
,之后使用浏览器访问 nginx 即可,例如:http://10.0.0.4/group1/M00/00/00/xxx.jpg
。
使用 curl 命令查看上传的文件:
curl -o test.jpg http://10.0.0.4/group1/M00/00/00/xxx.jpg
将会在当前目录下生成一个名为 test.jpg
的文件,打开即可查看。
希望以上攻略对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:fastdfs+nginx集群搭建的实现 - Python技术站