Linux平台nginx+fastDFS插件安装

Nginx+fastDFS插件安装

本文编写时候的测试平台:腾讯云轻量应用服务器
操作系统:ubuntu18.4

在文件服务器中

文件下载流程
1.可以直接让客户端连接存储节点的nginx直接实现文件下载.
2.前提是要在nginx中安装fastDFS的插件.

在存储节点上安装Nginx, 将软件安装包拷贝到fastDFS存储节点对应的主机上

  1. 找fastDFS的存储节点

  2. 在存储节点对应的主机上安装Nginx, 安装的时候需要一并将插件装上

    (余庆提供插件的代码 + nginx的源代码 ) * 交叉编译 = Nginx

  • fastdfs-nginx-module_v1.16.tar.gz 解压缩
  1. 进入nginx的源码安装目录

  2. 检测环境, 生成makefile

/configure --add-module=fastdfs插件的源码目录/src
./configure --add-module=/home/lampbobo/work/package/nginx/fastdfs-nginx-module/src
make
sudo make install

解决编译错误

1.将警告当成错误处理

src/core/ngx_murmurhash.c:37:11: error: this statement may fall through [-Werror=implicit-fallthrough=]
         h ^= data[2] << 16;

找到当前目录下找到objs文件夹,并进入,打开文件Makefile,找到有一下内容的这行:

[root@lnmp nginx-1.8.1]# vim objs/Makefile
CFLAGS = -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g 

​ -Werror: gcc将所有的警告当成错误进行处理把这行内容中的 “-Werror”去掉

​ 2.找不到头文件fdfs_define.

fatal error: fdfs_define.h: No such file or directory

首先查找出这个头文件
sudo find / -name “fdfs_define.h”
/usr/include/fastdfs/fdfs_define.h

解决方案 - 修改objs/Makefile 把-I /usr/include/fastdfs加入

ALL_INCS = -I src/core \
-I src/event \
-I src/event/modules \
-I src/os/unix \
-I /usr/include/fastdfs \
-I /usr/include/fastcommon/ \
-I objs \
-I src/http \
-I src/http/modules\

安装完成之后在
目录/usr/local/nginx/sbin下之前安装的nginx会更名为nginx.old
出现一个新的nginx

sudo nginx之后呢 会发现没有工作进程

root     11553  0.0  0.0  37876   624 ?        Ss   14:12   0:00 nginx: master process nginx
ubuntu   11556  0.0  0.0  13776  1016 pts/3    S+   14:12   0:00 grep nginx

查看nginx error.log
73 [2022-11-26 07:35:54] ERROR - file: shared_func.c, line: 968, file /etc/fdfs/mod_fastdfs.conf not exist

需要配置mod_fastdfs.conf文件

#存储log日志的目录
base_path=/home/lampbobo/work/fastdfs
# 连接tracker地址信息
tracker_server=192.168.31.64:22122
# 存储节点绑定的端口
storage_server_port=23000
# 当前存储节点所属的组
group_name=group1
# 客户端下载文件的时候, 这个下载的url中是不是包含组的名字
// 上传的fileID: group1/M00/00/00/wKj3h1vJRPeAA9KEAAAIZMjR0rI076.cpp
// 完整的url: http://192.168.1.100/group1/M00/00/00/wKj3h1vJRPeAA9KEAAAIZMjR0rI076.cpp
url_have_group_name = true
# 存储节点上存储路径的个数
store_path_count=1
# 存储路径的详细信息
store_path0=/home/lampbobo/work/fastdfs

解决工作进程无法启动的问题

1.# ERROR - file: ini_file_reader.c, line: 631, include file "http.conf" not exists,
line: "#include http.conf"
从 /etc/fdfs 下找的时候不存在
- 从fastDFS源码安装目录找/conf
- sudo cp http.conf /etc/fdfs

2.# ERROR - file: shared_func.c, line: 968, file /etc/fdfs/mime.types not exist
- 从nginx的源码安装包中找/conf
- sudo cp mime.types /etc/fdfs

3. ERROR - file: ../storage/trunk_mgr/trunk_shared.c, line: 177, "Permission denied" can't be accessed, error info: /home/ubuntu/work/fastdfs
-nginx没有操作文件的权限
-修改nginx.conf文件
-添加user  root;

验证安装是否成功

修改nginx的配置文件

cd /usr/local/nginx/conf
vim nginx.conf
添加
location /group1/M00/
{
	# 告诉服务器资源的位置
	root /home/ubuntu/work/fastdfs/data;
	ngx_fastdfs_module;
}

先使用fdfs_upload_file随便上传一个文件

ubuntu@VM-24-14-ubuntu:~/test$ fdfs_upload_file /etc/fdfs/client.conf main.c
group1/M00/00/00/CgAYDmPXbi-APo9RAAAAL6s_8hY93939.c

得到一个文件信息到浏览器访问

http://101.43.140.222/group1/M00/00/00/CgAYDmPXbi-APo9RAAAAL6s_8hY93939.c

然后可以成功下载到文件CgAYDmPXbi-APo9RAAAAL6s_8hY93939.c表明安装成功。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您提供一些基本的步骤。首先,您需要安装 NginxFastDFS 的依赖库和工具。然后按照以下步骤操作: 1. 下载并安装 FastDFS 您可以从官网下载 FastDFS 的源码包,然后解压到本地。进入解压后的目录,执行以下命令: ``` ./make.sh ./make.sh install ``` 这将编译并安装 FastDFS安装完成后,需要修改配置文件 tracker.conf 和 storage.conf,配置 FastDFS 的基本参数。 2. 下载并安装 Nginx 您可以从 Nginx 官网下载 Nginx 的源码包,然后解压到本地。进入解压后的目录,执行以下命令: ``` ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --add-module=/path/to/fastdfs-nginx-module/src make make install ``` 这将编译并安装 Nginx安装完成后,需要修改配置文件 nginx.conf,启用 FastDFS 模块并配置基本参数。 3. 启动 FastDFSNginx 启动 FastDFSNginx 只需要执行以下命令: ``` /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf /usr/bin/fdfs_storaged /etc/fdfs/storage.conf /usr/local/nginx/sbin/nginx ``` 这将启动 FastDFS 的 Tracker 和 Storage,以及 Nginx。至此,您已经成功搭建Nginx+FastDFS 环境。 请注意,这只是一个基本的搭建步骤,具体的配置和调优还需要您根据自己的需求进行调整。另外,为了保证安全性和稳定性,建议您在生产环境中使用 HTTPS 协议,并且配置合适的防火墙和安全策略。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值