nginx安装fastdfs-nginx-module和配置常见问题

Posted 谍纸天眼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx安装fastdfs-nginx-module和配置常见问题相关的知识,希望对你有一定的参考价值。

安装理由通过nginx查看和下载文件

准备资源: fastdfs-5.11.tar.gz和fastdfs-nginx-module_v1.16.tar.gz和nginx

使用到的nginx的常见命令:

        到nginx目录:cd /usr/local/nginx/sbin

        启动nginx: ./nginx -t

        重启nginx: ./nginx -s reload

马上开始安装:

nginx依赖包安装

                     [root@fastdfs2 fdfs]# cd /opt

                     [root@fastdfs2 opt]# yum -y install zlib zlib-devel openssl openssl--devel pcre pcre-devel

              解压nginx

                     [root@fastdfs2 opt]# tar -zxvf nginx-1.13.12.tar.gz

              安装nginx并添加fastdfs模块

                     [root@fastdfs2 opt]# cd nginx-1.13.12

                     [root@fastdfs2 nginx-1.13.12]# ./configure --prefix=/usr/local/nginx --add-module=/usr/local/fastdfs-nginx-module-master/src

                     [root@fastdfs2 nginx-1.13.12]# make

                     [root@fastdfs2 nginx-1.13.12]# make install

              检查nginx模块

                     [root@fastdfs2 nginx-1.13.12]# cd /usr/local/nginx/sbin/

                     [root@fastdfs2 sbin]# ./nginx -V

显示:

nginx version: nginx/1.13.12
uilt by gcc 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC)
configure arguments: --prefix=/usr/local/nginx --add-module=/usr/local/fastdfs-nginx-module-master/src

已经把fastdfs模块添加进去了。

              配置nginx配置文件

                     [root@fastdfs2 sbin]# cd /usr/local/nginx/conf

                     [root@fastdfs2 conf]# vi nginx.conf

                     内容如下,ip注意改成自己的:

events {
    use epoll;

    worker_connections  1024;
}
http {
    server {
        listen       80;
        server_name  192.168.1.207;

        location /group1/M00/{
                #root /home/FastDFS/fdfs_storage/data;
                ngx_fastdfs_module;
        }
    }
    server {
        listen 8888;
    server_name 192.168.1.207;
        location / {
            root   html;
            index  index.html index.htm;
        }
    }
}

      

 启动nginx

                     [root@fastdfs2 conf]# cd /usr/local/nginx/sbin/

                     [root@fastdfs2 sbin]# ./nginx -c /usr/local/nginx/conf/nginx-fdfs.conf

        

下面我们来说说安装过程中遇到的坑:

 端口被占用这就不多说了

 找不到http.cong文件

启动nginx

sudo nginx

然后用【ps aux | grep nginx】,确认nginx进程是否成功启动

root      9126  0.0  0.0  32980   436 ?        Ss   20:52   0:00 nginx: master process nginx

发现结果如上,发现只有master进程,而没有worker进程,说明启动出了问题。

解决办法:去看nginx的log文件【/usr/local/nginx/logs/error.log】,log内容如下

2019/09/02 20:52:26 [notice] 8956#0: signal process started
ngx_http_fastdfs_process_init pid=9127
[2019-09-02 20:52:41] ERROR - file: shared_func.c, line: 968, file /etc/fdfs/mod_fastdfs.conf not exist
[2019-09-02 20:52:41] ERROR - file: /home/ys2/fastdfs/fastdfs-nginx-module-1.20/src/common.c, line: 163, load con\\
f file "/etc/fdfs/mod_fastdfs.conf" fail, ret code: 2
2019/09/02 20:52:41 [alert] 9126#0: worker process 9127 exited with fatal code 2 and cannot be respawned

发现没有找到/etc/fdfs/mod_fastdfs.conf 文件。mod_fastdfs.conf 文件在解压后的src文件夹里,所以拷贝到/etc/fdfs目录下。

STEP6:编辑/etc/fdfs/mod_fastdfs.conf 文件。发现此文件和storage.conf文件十分类似。所以照着storage.conf文件修改此文件。

  • 修改base_path=,让值和storage.conf一样。

  • 修改tracker_server=,让值和storage.conf一样。

  • 修改storage_server_port=,让值和storage.conf里的port一样。

  • 修改group_name=,让值和storage.conf一样。

  • 修改url_have_group_name ,让值为true。目的是在浏览器的URL里,显示group_name的值,也就是能看到访问的storage的哪个group。

  • 修改store_path_count=,让值和storage.conf一样。

  • 修改store_path0=,让值和storage.conf一样。

  • 修改group_count =,fastdfs文件系统里有几个组就写几,只有一个组就写1.

  • 如果group_count =1,则必须设置[group1],如果group_count =2,则必须设置[group1]和[group2],以此类推。

    然后,再把[group1]下的所以设置,再写一遍。

把上面都修改好后,再次启动nginx,发现还是没有worker进程,再去看log内容,发现log内容和上一次不一样了,就说明上面的问题已经修改好了,又有别的问题了,已经在向成功迈进了。

[2019-09-02 23:37:19] ERROR - file: ini_file_reader.c, line: 824, include file "http.conf" not exists, line: "#include http.conf"
[2019-09-02 23:37:19] ERROR - file: /home/ys2/fastdfs/fastdfs-nginx-module-1.20/src/common.c, line: 163, load conf file "/etc/fdfs/mod_fastdfs.conf" fail, ret code: 2
2019/09/02 23:37:19 [alert] 9383#0: worker process 9384 exited with fatal code 2 and cannot be respawned

说明没找到http.conf文件,

解决办法:拷贝fastdfs源码安装包里的http.conf文件(在conf文件夹里),到/etc/fdfs/文件夹里。

修改好后,再次启动nginx,发现还是没有worker进程,再去看log内容,发现log内容和上一次不一样了,就说明上面的问题已经修改好了,又有别的问题了,已经在向成功迈进了。

2019/09/02 23:53:59 [notice] 9532#0: signal process started
ngx_http_fastdfs_process_exit pid=9497
ngx_http_fastdfs_process_init pid=9536
[2019-09-02 23:54:05] ERROR - file: shared_func.c, line: 968, file /etc/fdfs/mime.types not exist
2019/09/02 23:54:05 [alert] 9535#0: worker process 9536 exited with fatal code 2 and cannot be respawned

说明没找到/etc/fdfs/mime.types文件

解决办法:拷贝nginx源码安装包里的mime.types文件(在conf文件夹里),到/etc/fdfs/文件夹里。

修改好后,再次启动nginx,发现有worker进程了,说明nginx启动成功了。

修改nginx.conf文件,添加下面

location /group1/M00 {
    root   /home/ys2/fastdfs/data;
    ngx_fastdfs_module;
}

最后,在浏览器里直接访问storage节点下的某个文件,比如下面,如果能成功显示在浏览器中,则说明配置成功了。

以上是关于nginx安装fastdfs-nginx-module和配置常见问题的主要内容,如果未能解决你的问题,请参考以下文章

如何使用yum安装nginx

想安装nginx,应该怎么做

nginx 编译安装详解

win7 怎样安装nginx?

windows下nginx安装配置后怎么使用

nginx安装和常见的配置