用fastdfs-nginx-module整合fastdfs与nginx时,nginx启动没有work线程问题

1.FastDFS的安装

fastdfs的版本我选择的是5.12,最新的6.00版本我在编译的时候报错了。
FastDFS的安装可以参照这篇博客FastDFS 分布式文件系统(部署和运维)

2.FastDFS-nginx-module下载和配置

FastDFS安装完成和测试成功后,需要整合nginx才可以下载文件,FastDFS的github上提供了FastDFS-nginx-module模块用于与nginx整合。

FastDFS-nginx-module的下载地址:fastdfs-nginx-module
当前github上只有一个release版本
用fastdfs-nginx-module整合fastdfs与nginx时,nginx启动没有work线程问题_第1张图片
现在成功,解压fastdfs-nginx-module-1.20.tar.gz,在fastdfs-nginx-module-1.20文件夹下就会看到一个INSTALL文件,内容如下:
用fastdfs-nginx-module整合fastdfs与nginx时,nginx启动没有work线程问题_第2张图片
操作命令如下:

tar -zxvf fastdfs-nginx-module-1.20.tar.gz

cd fastdfs-nginx-module-1.20/src

修改config文件将/usr/local/include路径改为/usr/include

将fastdfs-nginx-module-1.20/src下的mod_fastdfs.conf拷贝至/etc/fdfs/下

cp mod_fasrdfs.conf /etc/fdfs/

并修改mod_fasrdfs.conf的内容:

vi /etc/fdfs/ mod_fasrdfs.conf

base_path=/data/fastdfs

tracker_server=192.168.101.x:22122

#tracker_server=192.168.101.x:22122(多个tracker配置多行)
#storage_server_port如果23000端口不冲突可以不用更改,我本机因为impala占用23000接口了
storage_server_port=22133

url_have_group_name=true             #url中包含group名称

store_path0=/data/fastdfs/   #指定文件存储路径

3.nginx的安装和配置

INSTALL文件中说明nginx-1.15.1已经测试通过,所以可用nginx-1.15.1版本,下载地址:http://nginx.org/download/
安装命令如下:

./configure --add-module=/usr/local/fastdfs-nginx-module-1.20/src 
make
make install

配置nginx.conf如下:

server {
		#如果80端口配置了其他应用,则换一个端口
        listen       80;
        server_name  localhost;
        location /group1/M00/{
                ngx_fastdfs_module;
        }
}

启动nginx:/usr/local/nginx/sbin/nginx
这时访问nginx发现访问不了,通过命令ps -ef |grep nginx发现只有master进程,没有work进程,可是配置文件中我已经配置了work进程数了
在这里插入图片描述
网上找了许多资料,有说是nginx的配置文件路径用的是解压那个目录的,可是我试了那个配置文件也没有用。
最后我看到有人说work进程与mime.types有关,然后我全局搜索了一下find / -name mime.types,发现fastdfs-5.12/conf/下也有mime.types,但是这个mime.types在/etc/fdfs/文件夹下不存在,也就是说没用到,所以我就把fastdfs-5.12/conf下的
mime.types和http.conf(和mime.types一起使用的)一起拷贝到/etc/fdfs/下,然后再重新启动nginx,发现work进程启动正常。

4.总结

fastdfs安装时,拷贝到/etc/fdfs/的文件只有tracker.conf、storage.conf、client.conf,而http.conf、mime.types是整合nginx时需要的配置文件,整合nginx时需要主动拷贝过去才能正常运行nginx。

你可能感兴趣的:(nginx)