fastdfs-nginx-module的安装与部署

简介: fastdfs-nginx-module的安装与部署

1 简介


一个好的分布式文件系统最好提供Nginx的模块,因为对于互联网应用来说,像文件这种静态资源,一般是通过HTTP的下载,此时通过容易扩展的Nginx来访问FastDFS,能够让文件的上传和下载变得特别简单。


Nginx安装FastDFS模块,主要是安装在FastDFS的存储服务器(storage)上,而不是tracker和client上。


目的实际是为了,当输入地址(其中192.168.31.109 是一个storage服务器):http://192.168.201.109/group1/M00/00/00/wKgCbFem0l2ALJKKKJJfRAMkc536.png

能够通过Nginx的Web服务功能,直接返回图片。


2 Nginx上部署FastDFS


2.1 模块包的安装


注意:全部安装条件在确保之前的FastDFS 的tracker、storage和client可以正常使用。

之前FastDFS安装步骤:


https://blog.csdn.net/weixin_45525272/article/details/107748384


1)解压Nginx的FastDFS模块包:tar -xzvf fastdfs-nginx-module_v1.16.tar.gz


cd fastdfs-nginx-module/会发现里面有个INSTALL 和 src目录,这个不需要make而是需要重新编译一下storage的Nginx模块。


2)安装和编译Nginx 并添加FastDFS模块


cd nginx-1.10.1/
./configure --add-module=/usr/local/src/fastdfs-nginx-module/src


其中/usr/local/src/fastdfs-nginx-module/src 是刚才解压的fastdfs模块的绝对路径,就是在编译Nginx时候,连同这个模块一起编译:


make
sudo make install


报错处理


如果中途出现编译错误,找不到fastdfs_define.h等头文件:


原因是Nginx是会想/usr/local/include/fastdfs/去找, 而不是去/usr/include/fastdfs/去找,将/usr/include/fastdfs/ 和 /usr/include/fastcommon/ 两个文件夹拷贝到/usr/local/include/下即可:


sudo cp /usr/include/fastdfs/ /usr/local/include/ -R
sudo cp /usr/include/fastcommon/ /usr/local/include/ -R


2.2 fastdfs-nginx-module 的配置


2.2.1 fastdfs-nginx-module配置文件


将fastdfs-nginx-module/src/mod_fastdfs.conf 拷贝到/etc/fdfs/下:


sudo cp fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/


修改mod_fastdfs.conf:


base_path = / 你自己存放fdstdfs的路径/ fastdfs / storage  #保存日志目录, 跟storage.conf一致即可
tracker_server = 你自己的IP:22122 #tracker服务器的IP地址以及端口号, 确保跟storage.conf一致即可
storage_server_port = 23000 #storage服务器的端口号,确保跟storage.conf一致即可
group_name = group1 #当前服务器的group名,确保跟storage.conf一致即可
url_have_group_name = true #文件url中是否有group名,这个最好设置为true,这样方便nginx服务器解析
store_path_count = 1 #存储路径个数,需要和store_path个数匹配
store_path0 = / usr / fastdfs / fastdfs0 #存储路径, 跟storage.conf一致即可
group_count = 1 #设置组的个数
[group1]
group_name = group1
storage_server_port = 23000
store_path_count = 1
store_path0 = / usr / fastdfs / fastdfs0
##如果group_count = 2 ,那就再配置一个(这里不需要)


2.2.2 建立软连接


sudo ln -s /usr/fastdfs/fastdfs0/data /usr/fastdfs/fastdfs0/data/M00


2.2.3 配置nginx


location /group1/M00 {
  root /usr/fastdfs/fastdfs0/data;
  ngx_fastdfs_module;
}


报错处理


启动Nginx,观察/usr/local/nginx/logs/errors.log 是否有ERROR存在,如果有类似如下错误:


ERROR - file: ini_file_reader.c, line : 315, include file "http.conf" not exists, line :
"#include http.conf"
ERROR - file : / root / Open_Package / fastdfs - nginx - module / src / common.c, line : 155, load co
nf file "/etc/fdfs/mod_fastdfs.conf" fail, ret code : 2
2016 / 08 / 06 23 : 51 : 13[alert] 12734#0: worker process 12735 exited with fatal code 2 and
cannot be respawned


类似这种错误会导致nginx-worker启动失败,致使nginx无法提供web服务,表示/etc/fdfs/下缺少http.conf 和mime.types文件


从fastdfs-5.05/conf/http.conf 拷贝到/etc/fdfs/下,从nginx-1.10.1/conf/mime.types 拷贝到/etc/fdfs/下,即可解决。


2.3 测试环境


重新启动storage和nginx:


sudo /usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
sudo /usr/local/nginx/sbin/nginx -s reload


假如storage服务器已经有文件资源(其中,192.168.31.109是storage服务器的ip地址):


打开浏览器输入:

http://192.168.31.109/group1/M00/00/00/wKgfbVhnpGSANaaNAAFbrNWRkBM855.jpg


如果,得到图片显示,则表示storage已经成功配置Nginx服务。


storage服务器的ip地址可通过“fdfs_file_info”获取:


相关文章
|
7月前
|
应用服务中间件 网络安全 nginx
手把手教你使用 Docker 部署 Nginx 教程
本文详解Nginx核心功能与Docker部署优势,涵盖镜像拉取、容器化部署(快速、挂载、Compose)、HTTPS配置及常见问题处理,助力高效搭建稳定Web服务。
3369 4
|
应用服务中间件 PHP nginx
今日小结通过aliyun的本地容器镜像部署我的nginx和php环境
简介: 本教程介绍如何基于 Dragonwell 的 Ubuntu 镜像创建一个运行 Nginx 的 Docker 容器。首先从阿里云容器镜像服务拉取基础镜像,然后编写 Dockerfile 确保 Nginx 作为主进程运行,并暴露 80 端口。最后,在包含 Dockerfile 的目录下构建自定义镜像并启动容器,确保 Nginx 在前台运行,避免容器启动后立即退出。通过 `docker build` 和 `docker run` 命令完成整个流程。
563 25
今日小结通过aliyun的本地容器镜像部署我的nginx和php环境
|
7月前
|
应用服务中间件 Linux nginx
在虚拟机Docker环境下部署Nginx的步骤。
以上就是在Docker环境下部署Nginx的步骤。需要注意,Docker和Nginix都有很多高级用法和细节需要掌握,以上只是一个基础入门级别的教程。如果你想要更深入地学习和使用它们,请参考官方文档或者其他专业书籍。
361 5
|
Ubuntu 网络协议 应用服务中间件
在 Ubuntu 上安装 Nginx
在 Ubuntu 上安装和配置 Nginx 非常简单。首先更新系统包,然后通过 `apt` 安装 Nginx,检查服务状态并配置防火墙规则。访问服务器 IP 测试是否成功显示默认页面。还可管理服务、创建虚拟主机及排查常见问题,适合新手快速上手部署高性能 Web 服务。
1380 0
|
12月前
|
应用服务中间件 Linux 网络安全
技术指南:如何把docsify项目部署到基于CentOS系统的Nginx中。
总结 与其他部署方法相比,将docsify项目部署到基于CentOS系统的Nginx中比较简单。以上步骤应当帮助你在不花费太多时间的情况下,将你的项目顺利部署到Nginx中。迈出第一步,开始部署你的docsify项目吧!
449 14
|
前端开发 应用服务中间件 nginx
docker安装nginx,前端项目运行
通过上述步骤,你可以轻松地在Docker中部署Nginx并运行前端项目。这种方法不仅简化了部署流程,还确保了环境的一致性,提高了开发和运维的效率。确保按步骤操作,并根据项目的具体需求进行相应的配置调整。
1500 25
|
负载均衡 应用服务中间件 Linux
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
这篇博客文章详细介绍了Nginx的下载、安装、配置以及使用,包括正向代理、反向代理、负载均衡、动静分离等高级功能,并通过具体实例讲解了如何进行配置。
745 5
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
|
应用服务中间件 网络安全 nginx
轻松上手Nginx Proxy Manager:安装、配置与实战
Nginx Proxy Manager (NPM) 是一款基于 Nginx 的反向代理管理工具,提供直观的 Web 界面,方便用户配置和管理反向代理、SSL 证书等。本文档介绍了 NPM 的安装步骤,包括 Docker 和 Docker Compose 的安装、Docker Compose 文件的创建与配置、启动服务、访问 Web 管理界面、基本使用方法以及如何申请和配置 SSL 证书,帮助用户快速上手 NPM。
14633 1
|
Ubuntu 搜索推荐 应用服务中间件
Nginx安装与使用
Nginx安装与使用
|
应用服务中间件 Linux nginx
Mac os 安装 nginx 教程(success)
这篇文章是关于如何在Mac OS系统上使用Homebrew安装nginx及其依赖,并解决安装过程中可能出现的权限问题。
2326 0
Mac os 安装 nginx 教程(success)