【那些踩过的坑】搭建FastDFS文件服务器安装nginx问题(新手安装前一定要看!!!)

磕了2天终于把全部问题解决啦!!!撒花儿★,°:.☆( ̄▽ ̄)/$:.°★ 😘🤣🙌

引言:新手在安装配置fastdfs、nginx以及fastdfs-nginx-module的时候常常会疏忽很多问题,笔者在刚开始学习fastdfs的过程中也踩过各种各样奇奇怪怪的坑,配合网上的教程虽然有些问题得到解决,但是好多方案很零碎,且绕了好大几圈才终于找到适用方法,现在将我遇到的问题尽可能写下记录,希望能为你带来一些新的思考和启发!

先放上我觉得还不错的一篇安装教程,跟着教程学习操作一路顺畅,可供学习参考!!只是由于教程是2017年的了,有一点需要注意(请见下面的问题1
教程:搭建分布式文件存储服务(FastDFS)

1、fastdfs-module-master更新匹配问题

环境说明:fastdfs5.09 / nginx-1.9.9 / fastdfs-module-master
由于笔者看的是两三年前的安装教程,所以跟着教程步骤下载了fastdfs-module-master版本的插件,但是请注意!!!!官方公布的插件最新版只适用于FastDFS_Version6.03以上版本,若配置的是像笔者这种FastDFS-5.09旧版本,就会反复报错!!!
详细内容请见:
https://github.com/happyfish100/fastdfs-nginx-module/blob/master/INSTALL

(下面链接中的页面截图↓↓↓)

常见报错问题节选
①In function ‘fdfs_mod_init’:
/home/jumper/fastdfs-nginx-module/src//common.c:338:43: error: request for member ‘count’ in something not a structure or union
storage_server_port, g_fdfs_store_paths.count);
^
/home/jumper/fastdfs-nginx-module/src//common.c:339:33: error: request for member ‘count’ in something not a structure or union
for (i=0; i ^
/home/jumper/fastdfs-nginx-module/src//common.c:343:23: error: request for member ‘paths’ in something not a structure or union
g_fdfs_store_paths.paths[i]);
^
/home/jumper/fastdfs-nginx-module/src//common.c:392:48: error: request for member ‘count’ in something not a structure or union
for (i=0; i ^
/home/jumper/fastdfs-nginx-module/src//common.c:396:38: error: request for member ‘paths’ in something not a structure or union
group_store_paths[k].store_paths.paths[i]);

②unknown directive “ngx_fastdfs_module” in nginx.conf88

解决方案
如果遇到这样的问题,多是像上述所说的软件不匹配!!!所以旧版本的fastdfs找到低版本的fastdfs-nginx-module就可以啦!比如输入下面命令安装fastdfs-nginx-module_v1.16版本即可,其他操作不变(跟着原教程来)。

# wget https://sourceforge.net/projects/fastdfs/files/FastDFS%20Nginx%20Module%20Source%20Code/fastdfs-nginx-module_v1.16.tar.gz
# tar -zxvf fastdfs-nginx-module_v1.16.tar.gz

2、common_define.h文件找不到

常见报错问题节选

①/usr/local/include/fastdfs/fdfs_define.h:15:27: 致命错误:common_define.h:没有那个文件或目录

解决方案

# vim fastdfs-nginx-module-1.20/src/config

config更新后的内容如下:

ngx_addon_name=ngx_http_fastdfs_module
if test -n "${ngx_module_link}"; then
ngx_module_type=HTTP
ngx_module_name=$ngx_addon_name
ngx_module_incs="/usr/include/fastdfs /usr/include/fastcommon/"
ngx_module_libs="-lfastcommon -lfdfsclient"
ngx_module_srcs="$ngx_addon_dir/ngx_http_fastdfs_module.c"
ngx_module_deps=
CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -DFDFS_OUTPUT_CHUNK_SIZE='2561024' -DFDFS_MOD_CONF_FILENAME='"/etc/fdfs/mod_fastdfs.conf"'"
. auto/module
else
HTTP_MODULES="$HTTP_MODULES ngx_http_fastdfs_module"
NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_http_fastdfs_module.c"
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
CORE_LIBS="$CORE_LIBS -lfastcommon -lfdfsclient"
CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -DFDFS_OUTPUT_CHUNK_SIZE='2561024' -DFDFS_MOD_CONF_FILENAME='"/etc/fdfs/mod_fastdfs.conf"'"
fi

改成以上内容基本就可以通过
改变的文件内容:
ngx_module_incs="/usr/include/fastdfs /usr/include/fastcommon/"
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"

再重新到nginx目录下

./configure ...

3、libpcre.so.0/libpcre.so.1 NotFound问题

常见报错问题节选

①/usr/local/nginx/sbin/nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory

解决方案

从错误提示信息可以得知是因为缺少lib文件导致,进一步查看具体内容:

# ldd $(which /usr/local/nginx/sbin/nginx)

可以从输出的信息知道具体是缺失哪一部分的lib文件。

     libpthread.so.0 => /lib64/libpthread.so.0 (0x00000030e8400000)
     libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00000030f9a00000)
     libpcre.so.1 => not found
     libcrypto.so.6 => /lib64/libcrypto.so.6 (0x00000030f2a00000)
     libz.so.1 => /lib64/libz.so.1 (0x00000030e8800000)
     libc.so.6 => /lib64/libc.so.6 (0x00000030e7800000)
     /lib64/ld-linux-x86-64.so.2 (0x00000030e7400000)
     libdl.so.2 => /lib64/libdl.so.2 (0x00000030e8000000)

由此可知,libpcre.so.1缺失。

  • 首先确认已经安装好pcre 软件(nginx 依赖该软件)
  • 创建软连接
    对于/lib/* 32位系统来说:查看lib库
# ls /lib/ |grep pcre
libpcre.so.0
libpcre.so.0.0.1

添加软连接

# ln -s /lib/libpcre.so.0.0.1 /lib/libpcre.so.

如果是64位的,把lib改为lib64即可

# ln -s /lib64/libpcre.so.0.0.1 /lib64/libpcre.so.1

问题解决,配置成功√
在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值