fastdfs排错记录-找不到节点或文件

本文介绍了在阿里云上配置FastDFS遇到的问题及解决过程。主要解决了重启tracker和storage服务后无法正常工作的问题,通过检查配置文件和服务状态,最终发现重新启动服务使其重新注册可以解决问题。

阿里云上配置fastdfs报错:

com.github.tobato.fastdfs.exception.FdfsServerException: 错误码:2,错误信息:找不到节点或文件

我是用springboot项目调用服务器上的fastdfs,起初好好的,之后重启了一下tracker和storage之后就报这个错误,问题排查:

  1. 查看阿里云安全组配置,配置22122端口是开放状态的.
  2. 查看springboot项目中的配置信息是否正确,主要是IP地址和端口号,都配的外网地址,没错。
  3. 查看storage和tracker的配置文件,并检查nginx,storage和tracker服务是否开启,也都开启了。

最后通过多方查找,一个一个尝试,最终解决办法:
先杀掉tracker和storage进程,再启动tracker和storage使其重新注册!!!!

参考:https://blog.youkuaiyun.com/Jack_Roy/article/details/103564835


2021.05.23日排错更新
今天重新思考了一下这个问题的来由,我发现是我在配置开机自启的时候配置的有问题,应该进行一下配置:
1.编辑文件:

vim /etc/rc.d/rc.local

2.增加如下内容

#fastdfs start
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
#nginx start
/usr/local/nginx/sbin/nginx

3.如果出现权限问题执行以下命令

chmod +x /etc/rc.d/rc.local

参考:https://www.cnblogs.com/yufeng218/p/8215381.html

ElasticSearch启动之后自己Killed解决方案:
内存问题,设置内存大小重新启动即可。

https://blog.youkuaiyun.com/lovely__RR/article/details/111400296

<think>首先,用户的问题是关于配置 fastdfs-nginx-module 的 config 文件,具体是问是否需要修改 config 文件。 用户参考了一些引用,这些引用是关于 fastdfs-nginx-module 的 config 文件修改的。 从引用中: - 引用[1]:提到必须修改 config 文件,否则编译 nginx 时会报错。 - 引用[2]:总结说 config 文件的问题导致编译失败。 - 引用[3]:提到 common.c 文件加载 conf 文件的问题。 - 引用[4]:在配置 nginx 时指定了模块路径。 - 引用[5]:具体描述了如何修改 config 文件,包括路径的调整。 所以,用户的真正需求是:在配置 fastdfs-nginx-module 时,是否需要修改 config 文件?如果是,如何修改? 用户的问题是:“我想配置 fastdfs-nginx-module 的 config 文件相关问题 请问nginx 配置 fastdfs-nginx-module 是否需要修改 config 文件” 因此,我需要回答:是的,需要修改 config 文件,并解释为什么和如何修改。 回答结构: 1. **明确回答**:是的,需要修改 config 文件2. **解释原因**:如果不修改,编译 nginx 时可能会报错。 3. **提供修改方法**:基于引用,给出具体的修改步骤。 4. **添加引用**:在相关部分末尾添加引用标识。 5. **生成相关问题**:按照系统指令,在最后添加相关问题。 6. **使用中文**:整个回答用中文。 7. **LaTeX 格式**:如果有数学表达式,使用 $...$ $$...$$,但在这个上下文中,可能不需要数学表达式。如果有变量路径,可以用行内格式,比如路径名。 在回答中: - 原因:引用[1]和[2]指出必须修改 config 文件以避免错误。 - 修改方法:引用[5]给出了具体修改,例如路径的调整。 - 一般步骤:修改 config 文件中的 include 路径,以匹配系统上的实际路径。 具体修改: - 在 config 文件中,到 CORE_INCS 行。 - 修改路径,如从 "/usr/local/include/fastdfs" 改为 "/usr/include/fastdfs",如果系统上没有 local 路径。 回答大纲: 1. 开头直接回答:是的,需要修改 config 文件2. 解释为什么:如果不修改,编译 nginx 时会报错,如不到文件。 3. 详细步骤: - 编辑 config 文件(通常位于 fastdfs-nginx-module/src/config)。 - 修改 CORE_INCS 行,确保路径正确。 - 示例修改。 4. 引用相关部分。 5. 结尾:建议检查路径是否正确。 6. 生成相关问题。 生成相关问题: - 基于主题,问题可能包括: 1. 如何编译 nginx 以支持 fastdfs-nginx-module? 2. 配置 fastdfs-nginx-module 时常见错误有哪些? 3. 如何测试 fastdfs-nginx-module 是否配置成功? 4. FastDFS 和 nginx 的集成最佳实践? 5. 修改 config 文件后还需要哪些步骤? 确保回答真实可靠:基于提供的引用,这些引用是用户提供的,所以我应该基于它们回答。</think>### 配置 fastdfs-nginx-module 是否需要修改 config 文件? 是的,**需要修改 config 文件**。在配置 fastdfs-nginx-module 时,修改其 `src/config` 文件是必要的步骤。如果不修改,在编译运行 Nginx 时会出现错误,例如编译失败、模块加载失败路径查错误[^1][^2]。以下我将逐步解释原因和修改方法,帮助您避免常见问题。 #### 为什么必须修改 config 文件- **路径不匹配问题**:fastdfs-nginx-module 的默认 `config` 文件中的路径(如 `/usr/local/include/fastdfs`)可能与您系统的实际路径不一致。这会导致编译时不到文件(如 `fastdfs.h` `fastcommon.h`),从而引发错误[^1][^5]。 - **编译失败风险**:未修改的 `config` 文件会使 Nginx 的 `./configure` 命令失败,报错信息可能包括 "C compiler cannot create executables" "missing header files",最终导致模块无法集成到 Nginx 中[^2][^4]。 - **运行时错误**:即使编译成功,错误的路径也可能在 Nginx 启动时触发错误,例如 "load conf file failed",影响 FastDFS 文件的访问[^3]。 #### 如何正确修改 config 文件? 以下是详细步骤(基于您提供的引用和常见实践): 1. **定位 config 文件** 文件路径通常为: `/usr/local/src/fastdfs-nginx-module-<version>/src/config` 例如,对于版本 1.20,路径是 `/usr/local/src/fastdfs-nginx-module-1.20/src/config`[^1][^5]。 2. **编辑 config 文件** 使用文本编辑器(如 `vim` `nano`)打开文件: ```bash vim /usr/local/src/fastdfs-nginx-module-1.20/src/config ``` 到以下关键行(通常以 `CORE_INCS` 开头): ```config CORE_INCS="$CORE_INCS /usr/local/include/fastdfs /usr/local/include/fastcommon/" ``` 3. **修改路径以匹配系统实际路径** - **检查系统路径**:首先确认您的系统上 FastDFS文件的安装位置。常见路径包括: - `/usr/include/fastdfs/` - `/usr/include/fastcommon/` 使用命令检查: ```bash ls /usr/include/fastdfs # 查看是否存在 fastdfs.h 等文件 ls /usr/include/fastcommon # 查看是否存在 fastcommon.h ``` 如果路径中没有 `local`(如您的引用[^5]所述),则需要修改。 - **更新路径**:将 `CORE_INCS` 行修改为系统实际路径。例如: ```config CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/" ``` 保存并退出编辑器。 4. **验证修改效果** - 重新编译 Nginx 时,在 `./configure` 命令中包含模块路径: ```bash ./configure --add-module=/usr/local/src/fastdfs-nginx-module-1.20/src --prefix=/opt/nginx ``` 如果配置成功,输出中应显示模块已加载,无报错[^4]。 - 启动 Nginx 后,检查日志: ```bash tail -f /var/log/nginx/error.log ``` 确认无 "load conf file failed" 等错误[^3]。 #### 注意事项 - **版本兼容性**:不同版本的 fastdfs-nginx-module 可能略有差异,建议使用官方文档稳定版本(如 1.20)。 - **路径一致性**:确保 `mod_fastdfs.conf` 文件(位于 `/etc/fdfs/`)中的路径与 `config` 文件修改一致,避免运行时冲突[^3]。 - **备份文件**:修改前备份 `config` 文件,以便回滚: ```bash cp /usr/local/src/fastdfs-nginx-module-1.20/src/config ~/config_backup ``` 通过以上步骤,您能有效避免编译和运行时错误,确保 FastDFS 与 Nginx 集成成功[^1][^2][^5]。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值