上一节有介绍到 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{
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: 没有那个文件或目录