nginx 添加 ngx_fastdfs_module 模块

nginx 添加 ngx_fastdfs_module 模块

背景

我在机器上源码安装了一个nginx,然后用户又让其他同事安装了一个fastdfs,同事是yum安装的fastdfs5.0.5,用户说要给nginx增加一个 ngx_fastdfs_module 模块。按照网上搜的操作一遍各种报错,最后总结下安装流程。

安装fastdfs

必须源码安装,同事yum安装的导致我在重新编译的时候会有一大堆报错(也有可能是版本导致的),即使已经存在了fastdfs,也可以源码重新装一遍,目录和原先的fastdfs不同即可。

安装fastdfs前,需要安装它的依赖组件

yum install git gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl-devel wget vim -y

libcommon组件 安装

git clone https://github.com/happyfish100/libfastcommon.git
cd libfastcommon/
./make.sh && ./make.sh install #编译安装

libserverframe组件安装

git clone https://github.com/happyfish100/libserverframe.git 
cd libserverframe/
./make.sh && ./make.sh install #编译安装

fastdfs 源码编译安装

注意哈: 这里我是为了安装nginx的模块重新编译了fastdfs,而没有安装它,只是为了用它的一些组件库,配置启动之类的可以另外找其他fastdfs安装文档

git clone https://github.com/happyfish100/fastdfs.git
cd fastdfs/
./make.sh && ./make.sh install #编译安装

nginx 重新源码编译

fastdfs安装后,我们开始搞nginx,开始前,我们需要确认几个东西
1.nginx的源码包位置,如果源码包删了或者找不到了,可以自己下载一个同版本的
2.nginx的编译命令,这很重要,因为我们不能影响原先的nginx功能,我们只是加模块而已,不是重装。

接下来我们开始操作

下载ngx_fastdfs_module 模块

# clone模块源码
git clone https://github.com/happyfish100/fastdfs-nginx-module.git
# 确认fastdfs的头文件,一般是 /usr/include/fastcommon/
locate common_define.h
#修改源码的配置文件,因为它默认的是 /usr/local/include,找不到头文件 common_define.h,不改编译会报错
vim fastdfs-nginx-module/src/config
#原
ngx_module incs="/usr/local/include"
CORE_INCS-"$CORE_INcs /usr/local/include"
##改完后
ngx_module incs="/usr/local/include /usr/include/fastcommon"
CORE_INCS-"$CORE_INcs /usr/local/include /usr/include/fastcommon"

下载nginx源码包

我的本地nginx源码包是1.9.9.各位如果是其他版本可以下载对应版本

#安装一会源码编译nginx所以来的包
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
#注意,这里是V,可以看到我们之前安装nginx的时候的编译命令,一会重新编译的时候需要用到
nginx -V
#下载nginx源码包
wget https://nginx.org/download/nginx-1.9.9.tar.gz
tar -zxvf nginx-1.9.9.tar.gz

# 编译
./configure’--prefix=/opt/ww/app/nginx/--with-...  --add-module=/app/nginx/nginx-1.9.9/fastdfs-nginx-modul/src/
##注释:
# --prefix=/opt/ww/app/nginx/ 是我最开始装nginx指定的路径,前面通过nginx -V可以看到
# --with....  这些是我最开始装nginx指定的那些模块,前面通过nignx -V 可以看到,这里省略了
# --add-module  指定我刚才下载的fastdfs-nginx-modul 模块位置


# 注意不要执行 make install,只make就可以。否则会影响原先的ng
make

替换

# 找到nginx目录并备份
which nhinx
# 新编译生成的nginx在opjs下面,替换掉原先的, nginx -s reload即可

posted @ 2024-09-13 13:37  liwenchao1995  阅读(70)  评论(0编辑  收藏  举报