Ubuntu 下nginx和FastDfs的配置

来源:互联网 发布:jsp数组 编辑:程序博客网 时间:2024/05/22 23:58

上一节有介绍到 Ubuntu下fastDfs的安装,

这一借重点介绍 FastDfs配合nginx的使用。


一路全是坑。


按照以下步骤:

1. 关于下载和解压nginx,此步骤忽略。


2. 下载fastdfs-nginx-module 包,放在ngxin同级目录下,并解压。


3. 配置和编译nginx

sudo ./configure  --prefix=/usr/local/nginx/ --conf-path=/usr/local/nginx/nginx.conf --add-module=/usr/local/fastdfs-nginx-module/src  

然后执行 sudo make  和 sudo make install 


注意以下两点:

1.  编译安装结束后, 在nginx目录下直接生成很多配置文件。  当前的nginx将以生成的配置文件为准, 原来的conf/nginx.conf 则无效。

2. 确保/etc/ fdfs中文件的完整:

 需要包含以下文件:

1. client.conf  

2. http.conf

3. mime.types (这个文件需要从fdfs的安装目录/src/中copy过来)

4. storage.conf

5. tracker.conf

6. storage_ids.conf

7.mod_fastdfs.conf (这个文件在fastdfs-nginx-module/中)


补充:修改mod_fastdfs.conf文件

1. [root@storage1]# vi /etc/fdfs/mod_fastdfs.conf
 
    # the base path to store log files
    # 放置log的目录
    base_path=/home/storage1/fastdfs


    # FastDFS tracker_server can ocur more than once, and tracker_server format is
    # "host:port", host can be hostname or ip address
    # tracker1的ip和端口,此处可以写多个tracker server,每行一个
    tracker_server=192.168.68.113:22122
    
    # the group name of storage server
    # 此台storage server所属的服务器组名
    group_name=group1
 
    # if uri including group name
    # default value is false
    # 在URL中包含group名称
    url_have_group_name = true
    
    # store_path#, based 0, if store_path0 not exists, it's value is base_path
    # the paths must be exist
    # 放置文件的目录
    store_path0=/home/storage1/fastdfs


上述每个文件的修改,参考上一节安装Fdfs。 所有涉及到修改ip的地方都使用本地的ip地址,不要用localhost之类的。

3. 可能需要关闭防火墙,或者开启端口。


4. 修改nginx配置文件

注意修改的的是nginx目录下的nginx文件,而不是conf/nginx.conf文件。

修改如下:

   server{
     listen 80;
     server_name 192.168.217.128;

     location /group1/M00/{
       ngx_fastdfs_module;
    }
  }


6. 启动服务:

   6.1 启动tracker : /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf 

       启动storage:/usr/bin/fdfs_storaged /etc/fdfs/storage.conf

   6.2 启动nginx : 进入nginx目录:  sudo  ./sbin/nginx 


7 启动后就可以通过http服务访问fdfs文件系统中的图片了。


 补充知识:

关闭或者重启tracker,storage服务:

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf stop
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf stop
千万不要使用-9参数强杀,否则可能会导致binlog数据丢失的问题。

如何重启server进程?
直接使用:
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart


关闭或者重启nginx服务

 sudo  ./sbin/nginx  -s stop

sudo ./sbin/nginx -s reload


查看进程: ps -ef | grep nginx.


sudo make install

如果出现 fastdfs-nginx-module/src/common.c:21:25: fatal error: fdfs_define.h: 没有那个文件或目录

            
            添加链接
 
            ln -sv /usr/include/fastcommon /usr/local/include/fastcommon 
            ln -sv /usr/include/fastdfs /usr/local/include/fastdfs 
            ln -sv /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so




原创粉丝点击