5 nginx fastDFS 整合

客户端通过storage服务器下载 文件
GitHub 下载 fastdfs-nginx模块 https://github.com/happyfish100

首先需要安装 fastDFS https://blog.csdn.net/u014749668/article/details/81291254

模块代码是给nginx编译使用的,不是单独编译用

1、 ./configure –with-zlib=… –with-openssl=… –with-pcre=…
–add-module=fastdfs模块/src

2、make

3、sudo make install

4、sudo niginx 启动nginx
这个时候nginx的worker线程没有启动起来,nginx不能正常工作

5、排查错误 去nginx log目录查看log

这里写图片描述

原因是etc/fdfs目录下面没有这个文件 —–将模块src里面的这个文件拷贝到etc/fdfs里面
这个文件在fastdfs-nginx模块源码src里面

sudo cp mod_fastdfs.conf /etc/fdfs/ -fr

然后在重启nginx 服务器 sudo nginx -s reload 你会看到 找不这个文件 http.conf
这个文件在fastdfs 源码目录里面的 conf文件夹里面

这里写图片描述

sudo cp http.conf /etc/fdfs/ -fr

然后在重启nginx 服务器 sudo nginx -s reload 你会看到 找不这个文件 mime.types
这个文件在fastdfs 源码目录里面的 conf文件夹里面
这里写图片描述

sudo cp mime.types /etc/fdfs/ -fr

到这里编译基本搞定 现在去 写配置文件
写之前 查看log 要去/usr/locl/nginx/logs/ 目录里面
使用 tail -f err.log 动态查看文件

到这里编译基本搞定 现在去 写配置文件

如果出现 你查看进程发现出现两次 master 进程 然后过几秒 只剩下一个master进程 那是应为 你storage 里面的tracker.conf 配置文件里面的 tracker_server 这个地方的地址写得与module_fdfs.conf文件里面的tracker server 的地址不一直 。接下来,我会在后面指出。。。。

出现这个错误的就是配置文件的问题。。。。

这里写图片描述

其实说白了 ,就是要把这个配置文件module_fdfs.conf 与storage.conf 这个两个配置上一样 ,不是配置文件一样。。。

# connect timeout in seconds
# default value is 30s
connect_timeout=2

# network recv and send timeout in seconds
# default value is 30s
network_timeout=30

# the base path to store log files日志存放的一些地方之类的
base_path=/home/fastdfs/fmodule

# if load FastDFS parameters from tracker server
# since V1.12
# default value is false
#是否从tracker 服务器上加载配置信息
load_fdfs_parameters_from_tracker=true

# storage sync file max delay seconds
# same as tracker.conf
# valid only when load_fdfs_parameters_from_tracker is false
# since V1.12
# default value is 86400 seconds (one day)
storage_sync_file_max_delay = 86400

# if use storage ID instead of IP address
# same as tracker.conf
# valid only when load_fdfs_parameters_from_tracker is false
# default value is false
# since V1.13
use_storage_id = false

# specify storage ids filename, can use relative or absolute path
# same as tracker.conf
# valid only when load_fdfs_parameters_from_tracker is false
# since V1.13
storage_ids_filename = storage_ids.conf

# FastDFS tracker_server can ocur more than once, and tracker_server format is
#  "host:port", host can be hostname or ip address
# valid only when load_fdfs_parameters_from_tracker is true
#这个很重要  tracker 服务器的地址  这个解决两次master
#tracker_server=tracker:22122

tracker_server=127.0.0.1:22122
# the port of the local storage server
# the default value is 23000 只需要填端口 不需要填ip
storage_server_port=23000

# the group name of the local storage server  当前storage服务器提供服务的组
group_name=group1

# if the url / uri including the group name
# set to false when uri like /M00/00/00/xxx
# set to true when uri like ${group_name}/M00/00/00/xxx, such as #group1/M00/xxx  这个比较重要  
# default value is false
url_have_group_name = false

http://192.168.111.113/group1/M00/00/00/aadfa
         通过URL访问nginx下载文件,包含组名
      http://192.168.111.113/M00/00/00/aadfa
         不包含组名,URL信息

      建议使用组名,可以马上确定哪个组

# path(disk or mount point) count, default value is 1
# must same as storage.conf 存储路径的数量  和storage的配置文件里面的是一样的
store_path_count=1

# store_path#, based 0, if store_path0 not exists, it's value is base_path
# the paths must be exist
# must same as storage.conf              和storage的配置文件里面的是一样的
 #                                    要根据这个路径去查找文件
store_path0=/home/yuqing/fastdfs
#store_path1=/home/yuqing/fastdfs1

# standard log level as syslog, case insensitive, value list:
### emerg for emergency
### alert
### crit for critical
### error
### warn for warning
### notice
### info
### debug
log_level=info

# set the log filename, such as /usr/local/apache2/logs/mod_fastdfs.log
# empty for output to stderr (apache and nginx error_log file)
log_filename=

# response mode when the file not exist in the local file system
## proxy: get the content from other storage server, then send to client
## redirect: redirect to the original storage server (HTTP Header is Location)
response_mode=proxy

# the NIC alias prefix, such as eth in Linux, you can see it by ifconfig -a
# multi aliases split by comma. empty value means auto set by OS type
# this paramter used to get all ip address of the local host
# default values is empty
if_alias_prefix=

# use "#include" directive to include HTTP config file
# NOTE: #include is an include directive, do NOT remove the # before include
#include http.conf


# if support flv
# default value is false
# since v1.15
flv_support = true

# flv file extension name
# default value is flv
# since v1.15
flv_extension = flv


# set the group count
# set to none zero to support multi-group on this storage server
# set to 0  for single group only
# groups settings section as [group1], [group2], ..., [groupN]
# default value is 0
# since v1.14
group_count = 0

# group settings for group #1
# since v1.14
# when support multi-group on this storage server, uncomment following section
#[group1]
#group_name=group1
#storage_server_port=23000
#store_path_count=2
#store_path0=/home/yuqing/fastdfs
#store_path1=/home/yuqing/fastdfs1

# group settings for group #2
# since v1.14
# when support multi-group, uncomment following section as neccessary
#[group2]
#group_name=group2
#storage_server_port=23000
#store_path_count=1
#store_path0=/home/yuqing/fastdfs

最后在配置nginx.conf
location /M00 {
root /home/yuqing/fastdfs/data;
ngx_fastdfs_module;
}
注意,如果URL不带组名,可以使用以上配置,带组名
location /group1/M00 {
ngx_fastdfs_module;
}

猜你喜欢

转载自blog.csdn.net/u014749668/article/details/81293096