FastDFS整合nginx报错[objs/addon/src/ngx_http_fastdfs_module.o] Error 1

场景

在成功安装FastDFS后图片依旧无法访问,需要整合nginx,然后在安装ngx_http_fastdfs_module时执行./configure --prefix=/usr/local/nginx/nginx-1.16.0 --add-module=/usr/local/fastdfs-nginx-module/fastdfs-nginx-module-master/src/(指令后面参数为ng路径和fastdfs-nginx的src路径)后执行make指令时编译报错,报错信息如下

......
from /usr/local/fastdfs-nginx-module/fastdfs-nginx-module-master/src//ngx_http_fastdfs_module.c:6:
/usr/include/fastdfs/fdfs_define.h:15:27: fatal error: common_define.h: No such file or directory
 #include "common_define.h"
                           ^
compilation terminated.
make[1]: *** [objs/addon/src/ngx_http_fastdfs_module.o] Error 1
make[1]: Leaving directory `/usr/local/nginx/nginx-1.16.0'
make: *** [build] Error 2

报错截图
FastDFS整合nginx报错[objs/addon/src/ngx_http_fastdfs_module.o] Error 1_第1张图片

解决一

修改fastdfs-nginx-module-master目录下的/src/config配置文件

  • 且只对应目录(根据自己的情况判断,如果找不到可以使用指令查找位置:find / -name fastdfs-nginx-module-master
cd /usr/local/fastdfs-nginx-module/fastdfs-nginx-module-master/src/
  • 编辑文件,修改文件中两处配置
ngx_module_incs="/usr/local/include/fastdfs /usr/include/fastcommon/"
CORE_INCS="$CORE_INCS /usr/local/include/fastdfs /usr/include/fastcommon/"

完整信息:

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/local/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='256*1024' -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/local/include/fastdfs /usr/include/fastcommon/"
    CORE_LIBS="$CORE_LIBS -lfastcommon -lfdfsclient"
    CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -DFDFS_OUTPUT_CHUNK_SIZE='256*1024' -DFDFS_MOD_CONF_FILENAME='\"/etc/fdfs/mod_fastdfs.conf\"'"
fi
  • 切到nginx目录
make clean
make
make install

解决二

建立软链接

ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so

解决三

重新安装fastdfs或者对应的 fastdfs-nginx-module版本
文章centos 7 安装FastDFS 5.09里面也遇到类似的问题,重装版本后解决,不过我找不到git上较早版本的了,所以没有选择这个方法

解决四

备份ng的html目录和fastdfs的storage节点下数据后重装,重装后成功了,没有一点问题。两个字:nb。具体可以看我的这篇文章
centos7安装FastDFS整合Nginx
重装后,将之前备份的nginx的html文件还原回去,fastdfs的数据可以直接替换/opt/fastdfs的data目录即可

你可能感兴趣的