上一节有介绍到 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/中)
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. 可能需要关闭防火墙,或者开启端口。
注意修改的的是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
sudo ./sbin/Nginx -s stop
sudo ./sbin/Nginx -s reload
查看进程: ps -ef | grep Nginx.
sudo makeinstall
如果出现 fastdfs-Nginx-module/src/common.c:21:25: fatal error: fdfs_define.h: 没有那个文件或目录