Rootop 服务器运维与web架构

fastdfs+nginx配置

| 暂无评论

这里只是将原先的fastdfs+apache改为nginx,之前的搭建过程可参考 :

https://www.rootop.org/pages/2431.html

接着上次的配置环境,现在将apache改为nginx。

在两台storage服务器上配置nginx和fastdfs-nginx模块:
storage_s1:
下载pcre、nginx、fastdfs的nginx模块,编译:

[root@centos-6.5-x64 ~]#wget -c http://fastdfs.googlecode.com/files/fastdfs-nginx-module_v1.15.tar.gz
[root@centos-6.5-x64 ~]#tar zxvf fastdfs-nginx-module_v1.15.tar.gz
[root@centos-6.5-x64 ~]#tar zxvf pcre-8.12.tar.gz
[root@centos-6.5-x64 ~]#tar zxvf nginx-1.5.10.tar.gz
[root@centos-6.5-x64 ~]#cd pcre-8.12
[root@centos-6.5-x64 pcre-8.12]#./configure --prefix=/usr/
[root@centos-6.5-x64 pcre-8.12]#make && make install
[root@centos-6.5-x64 pcre-8.12]#cd ..
[root@centos-6.5-x64 ~]#cd nginx-1.5.10
[root@centos-6.5-x64 nginx-1.5.10]#useradd www -s /sbin/nologin
[root@centos-6.5-x64 nginx-1.5.10]#yum install zlib zlib-devel -y
[root@centos-6.5-x64 nginx-1.5.10]#./configure --prefix=/usr/local/nginx --user=www --group=www --add-module=../fastdfs-nginx-module/src/
[root@centos-6.5-x64 nginx-1.5.10]#make && make install

配置nginx:
[root@centos-6.5-x64 ~]#vi /usr/local/nginx/conf/nginx.conf
在server段中添加:

location /group1/M00 {
 root /mnt/fastdfs_storage_data/data;
 ngx_fastdfs_module;
 }

配置etc/fdfs/mod_fastdfs.conf配置文件(编译时会自动拷贝过去)
[root@centos-6.5-x64 fdfs]#grep -v “#” mod_fastdfs.conf | grep -v “^$”
connect_timeout=2
network_timeout=30
base_path=/tmp
load_fdfs_parameters_from_tracker=true
storage_sync_file_max_delay = 86400
use_storage_id = false
storage_ids_filename = storage_ids.conf
tracker_server=192.168.1.60:22122
storage_server_port=23000
group_name=group1
url_have_group_name = true
store_path_count=1
store_path0=/mnt/fastdfs_storage_data
log_level=info
log_filename=
response_mode=proxy
if_alias_prefix=
http.need_find_content_type=false
flv_support = true
flv_extension = flv
group_count = 0

启动nginx:
[root@centos-6.5-x64 conf]#/usr/local/nginx/sbin/nginx &
[1] 9358
[root@centos-6.5-x64 conf]#ngx_http_fastdfs_set pid=9358
[1]+ Done /usr/local/nginx/sbin/nginx
[root@centos-6.5-x64 ~]#lsof -i:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 10240 root 6u IPv4 21835 0t0 TCP *:http (LISTEN)
nginx 10241 nobody 6u IPv4 21835 0t0 TCP *:http (LISTEN)
[1]+ Done /usr/local/nginx/sbin/nginx

完成

storage_s2:
配置跟storage_s1完全一样,过程略。

在客户端上传文件,访问文件的web路径,测试storage_s1、storage_s2通过。
停掉storage_s2的storage服务,客户端上传一个新文件,根据提示得知:
group_name=group1, remote_filename=M00/00/00/wKgBPVNb4hOAM7lhAAAADw_r4o417.html
source ip address: 192.168.1.61
文件上传到storage_s1服务器,现在访问storage_s2服务器的文件url。发现正常访问,表明fastdfs-nginx-module起作用了。

PS:
查看已有的nginx编译参数:
[root@centos-6.5-x64 nginx-1.5.10]#/usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.5.10
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC)
configure arguments: –prefix=/usr/local/nginx –user=www –group=www
nginx不像apache一样可以通过 apxs -i -a -c mod_rewrite.c 这种方式单独安装模块,需要重新编译。
所以需要知道之前nginx的编译参数。

原创文章,转载请注明。本文链接地址: https://www.rootop.org/pages/2452.html

作者:Venus

专注于 服务器运维与web架构 E-mail:venus#rootop.org

发表评论