您的位置:首页 > 运维架构 > Nginx

FastDFS+nginx---(二)安装配置测试

2016-01-11 10:19 666 查看
一、简介

FastDFS是一个开源的轻量级的分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。

FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器主要做调度工作,在访问上起负载均衡的作用。

二、安装前准备

1. 系统说明

操作系统:CentOS release 6.5 (Final)

ip:20.10.80.17

主机名:localhost.localdomain

部署角色:tracker storage nginx

2. 准备编译环境 yum -y install gcc gcc+ gcc-c++ openssl openssl-devel pcre pcre-devel

注:参照文件“fastdfs安装前准备组件安装.docx“

3.检测防火墙

检测防火墙是否开启命令:service iptables status

防火墙关闭命令:service iptables stop

注:为了方便测试 关闭防火墙 service iptables stop

三、源码准备

2.1 源码下载,下载后统一拷贝到目录/usr/local/src/

2.1.1 下载fastDFS 5.01 地址:

http://jaist.dl.sourceforge.net/project/fastdfs/FastDFS%20Server%20Source%20Code/FastDFS%20Server%20with%20PHP%20Extension%20Source%20Code%20V5.01/FastDFS_v5.01.tar

2.1.2 下载 nginx 1.7.0:

http://nginx.org/download/nginx-1.7.0.tar.gz

2.1.3 fastdfs-nginx-module_v1.16:

http://jaist.dl.sourceforge.net/project/fastdfs/FastDFS%20Nginx%20Module%20Source%20Code/fastdfs-nginx-module_v1.16.tar.gz

四、安装

4.1 安装FastDFS

cd /usr/local/src/

tar xf FastDFS_v5.01.tar.gz

cd FastDFS

./make.sh && ./make.sh install

4.2 解压fastDFS-nginx-module

cd /usr/local/src/

tar -zxvf fastdfs-nginx-module_v1.16.tar.gz

4.3 安装Nginx

cd /usr/local/src/

tar xf nginx-1.7.0.tar.gz

cd nginx-1.7.0

./configure –user=nginx –group=nginx –prefix=/usr/local/nginx –add-module=../fastdfs-nginx-module/src

make

make install

五、配置

5.1 tracker的配置

a) 创建tracker数据以及日志存放目录

mkdir -p /usr/local/src/fastdfs/tracker

b) 修改FastDFS的tracker.conf配置文件

vim /etc/fdfs/tracker.conf

主要修改项:

base_path= /usr/local/src/fastdfs/tracker

max_connections=100

work_threads=8

store_lookup=0

store_path=0

reserved_storage_space=10%

run_by_group=root

run_by_user=root

rotate_error_log=true

5.2 修改Nginx的配置文件

vim /usr/local/nginx/conf/nginx.conf

修改后内容如下:

user root root; —用户 用户组

worker_processes 3;

error_log /usr/local/nginx/logs/error.log;

error_log /usr/local/nginx/logs/error.log notice;

error_log /usr/local/nginx/logs/error.log info;

pid /usr/local/nginx/logs/nginx.pid;

events {

worker_connections 1024;

}

http {

include mime.types;

default_type application/octet-stream;

server_names_hash_bucket_size 128;

client_header_buffer_size 32k;

large_client_header_buffers 4 32k;

client_max_body_size 50m;

log_format main ‘remoteaddr−remote_addr - remote_user [timelocal]"time_local] "request”

‘statusstatus body_bytes_sent “httpreferer”′‘”http_referer” ’
‘”http_user_agent" "$http_x_forwarded_for”’;

access_log /usr/local/nginx/logs/access.log main;

upstream server_group1{

server 20.10.80.17:80;

}

server {

listen 80;

server_name localhost.localdomain;

access_log off;

location /group1/M00 {

root /usr/local/src/fastdfs/storage/data;

ngx_fastdfs_module;

}

}

}

5.3 将tracker交给service管理并且设置开机启动

a)cp /usr/local/src/FastDFS/init.d/fdfs_trackerd /etc/init.d/

b)chkconfig –add fdfs_trackerd

c)chkconfig fdfs_trackerd on

d)service fdfs_trackerd start

六、配置storage

a) 创建数据存放目录

mkdir -p /usr/local/src/ fastdfs/storage/data

b) 修改FastDFS的storage.conf配置文件

vim /etc/fdfs/storage.conf

修改主要项目如下:

work_threads=8

store_path_count=1

base_path=/usr/local/src/ fastdfs/storage

store_path0=/usr/local/src/ fastdfs/storage

tracker_server 的地址

tracker_server=20.10.80.17:22122

运行 FastDFS 的用户组

run_by_group=root

运行 FastDFS 的用户

run_by_user=root

file_distribute_path_mode=1

rotate_error_log=true

c) 把nginx模块的配置文件拷贝到 /etc/fdfs中,进行修改

cp /usr/local/src/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/

主要修改项

connect_timeout=30

tracker_server=20.10.80.17:22122

group_name=group1

url_have_group_name = true

store_path_count=1

store_path0=/usr/local/src/ fastdfs/storage

d) 修改nginx配置文件

vim /usr/local/nginx/conf/nginx.conf

修改后内容如下:

user root root; —用户 用户组

worker_processes 3;

error_log /usr/local/nginx/logs/error.log;

error_log /usr/local/nginx/logs/error.log notice;

error_log /usr/local/nginx/logs/error.log info;

pid /usr/local/nginx/logs/nginx.pid;

events {

worker_connections 1024;

}

http {

include mime.types;

default_type application/octet-stream;

server_names_hash_bucket_size 128;

client_header_buffer_size 32k;

large_client_header_buffers 4 32k;

client_max_body_size 50m;

log_format main ‘remoteaddr−remote_addr - remote_user [timelocal]"time_local] "request”

‘statusstatus body_bytes_sent “httpreferer”′‘”http_referer” ’
‘”http_user_agent" "$http_x_forwarded_for”’;

access_log /usr/local/nginx/logs/access.log main;

upstream server_group1{

server 20.10.80.17:80;

}

server {

listen 80;

server_name localhost.localdomain;

access_log off;

location /group1/M00 {

root /usr/local/src/fastdfs/storage/data;

ngx_fastdfs_module;

}

}

}

e) 创建软连接

ln –s /usr/local/src/fastdfs/storage/data /usr/local/src/fastdfs/storage/data/M00

f)把storage 交给service管理并且设置开机启动

cp /usr/local/src/FastDFS/init.d/fdfs_storaged /etc/init.d/

chkconfig –add fdfs_storaged

chkconfig fdfs_storaged on

service fdfs_storaged start

g) nginx扩展模块,不能正常显示图片的问题

在配置文件/etc/fdfs/mod_fastdfs.conf中,缺省的设置是这样的:http.need_find_content_type=false这个参数在nginx中需要设置为true,apache中应该设置为false

h)400 bad request

[2011-12-12 15:24:21] ERROR - file: /tmp/fastdfs-nginx-module/src/common.c, line: 561, logic file: M00/00/00/wKgBNU7lqyjzJZ4mAA4CRXl5SCQ670.jpg not exists

2011/12/12 15:24:21 [error] 14147#0: *1 open() “/home/nginx/nginx/html/favicon.ico” failed (2: No such file or directory), client: 192.168.1.123, server: localhost, request: “GET /favicon.ico HTTP/1.1”, host: “20.10.80.17:80”

修改/fastdfs/conf/mod_fastdfs.conf里面url_have_group_name = true

七、测试

1. 在20.10.80.17上启动tracker,storage,nginx

service fdfs_trackerd start

service fdfs_storaged start

/usr/local/nginx/sbin/nginx

2. 配置一个client 在tracker上进行

vim /etc/fdfs/client.conf

base_path= /usr/local/src/fastdfs/storage

tracker_server=20.10.80.17:22122

3. 查看集群详细

fdfs_monitor /etc/fdfs/client.conf

4. 测上传

fdfs_upload_file /etc/fdfs/client.conf /usr/fastdfs/hibernate.jpg

返回:/group1/M00/00/00/wKhQFFWYq1iAXUcbAAF9-d2hUpA735.jpg

5.浏览器访问http://20.10.80.17/group1/M00/00/00/wKhQFFWYx6WAaeCIAALJTvfxx5I331.jpg检测上传是否成功

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: