FastDFS-分布式存储集群-部署
目录
- 1、服务器信息(centos7.6)
- 2、安装依赖
- 3、准备FastDFS所需的各种安装包
- 4、将所有包放在服务器指定位置
- 5、编译
- 6、FastDFS配置修改
- 7、安装nginx
- 8、DMZ区nginx配置
1、服务器信息(centos7.6)
主机 | 功能 | IP |
---|---|---|
DMZ区Nginx | 代理 | 10.22.86.201 |
FastDFS01 | 存储服务 | 10.22.86.49 |
FastDFS02 | 存储服务 | 10.22.86.50 |
- 在FastDFS01与FastDFS02均需进行相同操作
2、安装依赖
yum -y install gcc
yum -y install libevent
yum -y install pcre pcre-devel zlib zlib-devel openssl openssl-devel
3、准备FastDFS所需的各种安装包
libfastcommon-master.zip
FastDFS_v5.08.tar.gz
fastdfs-nginx-module_v1.16.tar.gz
nginx-1.16.1.tar.gz
百度网盘:https://pan.baidu.com/s/18zaQrrAPtJ9-R6VgB3ZVEQ
提取码:fdfs
4、将所有包放在服务器指定位置
[root@localhost file]# pwd
/data/file
[root@localhost file]# ls
fastdfs-nginx-module_v1.16.tar.gz FastDFS_v5.08.tar.gz libfastcommon-master.zip nginx-1.16.1.tar.gz
5、编译
cd /data/file
unzip libfastcommon-master.zip
cd libfastcommon-master
./make.sh
./make.sh install
cd /data/file
tar -zxvf FastDFS_v5.08.tar.gz -C /data
cd /data/FastDFS
./make.sh
./make.sh install
[root@FastDFS01 file]# ll /etc/init.d/ | grep fdfs
-rwxr-xr-x 1 root root 918 Nov 23 16:07 fdfs_storaged
-rwxr-xr-x 1 root root 920 Nov 23 16:07 fdfs_trackerd
6、FastDFS配置修改
cd /etc/fdfs/
cp tracker.conf.sample tracker.conf
[root@FastDFS01 file]# cat /etc/fdfs/tracker.conf | grep -v '#\|^$'
# 启用配置文件
disabled=false
bind_addr=
# tracker的端口号,一般采用 22122 这个默认端口
port=22122
connect_timeout=30
network_timeout=60
# tracker 的数据文件和日志目录
base_path=/data/fdfs
max_connections=256
accept_threads=1
work_threads=4
store_lookup=2
store_group=group2
store_server=0
store_path=0
download_server=0
reserved_storage_space = 10%
log_level=info
run_by_group=
run_by_user=
allow_hosts=*
sync_log_buff_interval = 10
check_active_interval = 120
thread_stack_size = 64KB
storage_ip_changed_auto_adjust = true
storage_sync_file_max_delay = 86400
storage_sync_file_max_time = 300
use_trunk_file = false
slot_min_size = 256
slot_max_size = 16MB
trunk_file_size = 64MB
trunk_create_file_advance = false
trunk_create_file_time_base = 02:00
trunk_create_file_interval = 86400
trunk_create_file_space_threshold = 20G
trunk_init_check_occupying = false
trunk_init_reload_from_binlog = false
trunk_compress_binlog_min_interval = 0
use_storage_id = false
storage_ids_filename = storage_ids.conf
id_type_in_filename = ip
store_slave_file_use_link = false
rotate_error_log = false
error_log_rotate_time=00:00
rotate_error_log_size = 0
log_file_keep_days = 0
use_connection_pool = false
connection_pool_max_idle_time = 3600
http.server_port=8080
http.check_alive_interval=30
http.check_alive_type=tcp
http.check_alive_uri=/status.html
mkdir -p /data/fdfs
# 启动服务
/etc/init.d/fdfs_trackerd start
# 查询服务是否启动
lsof -i:22122
cd /etc/fdfs/
cp storage.conf.sample storage.conf
# 启用配置文件
disabled=false
# 组名(第一组为 group1,第二组为 group2)
group_name=group1
bind_addr=
client_bind=true
# storage 的端口号,同一个组的 storage 端口号必须相同
port=23000
connect_timeout=30
network_timeout=60
heart_beat_interval=30
stat_report_interval=60
# 设置 storage 的日志目录
base_path=/data/fdfs/upload
max_connections=256
buff_size = 256KB
accept_threads=1
work_threads=4
disk_rw_separated = true
disk_reader_threads = 1
disk_writer_threads = 1
sync_wait_msec=50
sync_interval=0
sync_start_time=00:00
sync_end_time=23:59
write_mark_file_freq=500
# 存储路径个数,需要和 store_path 个数匹配
store_path_count=1
# 存储路径
store_path0=/data/fdfs/upload
subdir_count_per_path=256
//tracker 服务器的 IP 地址和端口
tracker_server=10.22.86.50:22122
tracker_server=10.22.86.49:22122
log_level=info
run_by_group=
run_by_user=
allow_hosts=*
file_distribute_path_mode=0
file_distribute_rotate_count=100
fsync_after_written_bytes=0
sync_log_buff_interval=10
sync_binlog_buff_interval=10
sync_stat_file_interval=300
thread_stack_size=512KB
upload_priority=10
if_alias_prefix=
check_file_duplicate=0
file_signature_method=hash
key_namespace=FastDFS
keep_alive=0
use_access_log = false
rotate_access_log = false
access_log_rotate_time=00:00
rotate_error_log = false
error_log_rotate_time=00:00
rotate_access_log_size = 0
rotate_error_log_size = 0
log_file_keep_days = 0
file_sync_skip_invalid_record=false
use_connection_pool = false
connection_pool_max_idle_time = 3600
http.domain_name=
# 设置 http 端口号
http.server_port=8888
mkdir -p /data/fdfs/upload
# 启动服务
/etc/init.d/fdfs_storaged start
# 查询服务是否启动
lsof -i:23000
7、安装nginx
cd /data/soft/fastdfs
tar -zxvf fastdfs-nginx-module_v1.16.tar.gz -C /data
cd /data/fastdfs-nginx-module/src/
sed -i 's#/usr/local/#/usr/#g' config
cp mod_fastdfs.conf /etc/fdfs/
[root@FastDFS01 fdfs]# cat /etc/fdfs/mod_fastdfs.conf | grep -v '#\|^$'
connect_timeout=2
network_timeout=30
base_path=/data/fdfs/module
load_fdfs_parameters_from_tracker=true
storage_sync_file_max_delay = 86400
use_storage_id = false
storage_ids_filename = storage_ids.conf
tracker_server=10.22.86.49:22122
tracker_server=10.22.86.45:22122
storage_server_port=23000
group_name=group1
url_have_group_name = true
store_path_count=1
store_path0=/data/fdfs/upload/
log_level=info
log_filename=
response_mode=proxy
if_alias_prefix=
flv_support = true
flv_extension = flv
group_count = 2
[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/data/fdfs/upload
[group2]
group_name=group2
storage_server_port=23000
store_path_count=1
store_path0=/data/fdfs/upload
cd /data/FastDFS/conf/
cp http.conf mime.types /etc/fdfs/
cd /data/file
tar -xzvf nginx-1.16.1.tar.gz -C /usr/local/
cd /usr/local/nginx-1.16.1
useradd -s /sbin/nologin -M nginx
./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --add-module=/data/fastdfs-nginx-module/src
make && make install
ln -s /usr/local/nginx/sbin/* /usr/local/sbin/
mkdir /usr/local/nginx/conf/conf.d
cd /usr/local/nginx/conf/
[root@FastDFS01 conf]# cat nginx.conf | grep -v '#\|^$'
user nginx;
worker_processes 2;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
client_header_timeout 60;
client_body_timeout 75;
send_timeout 60;
keepalive_timeout 75;
proxy_connect_timeout 60;
proxy_send_timeout 60;
proxy_read_timeout 60;
fastcgi_read_timeout 1000000;
fastcgi_buffers 8 128k;
access_log /var/log/nginx/access.log main;
include /usr/local/nginx/conf/conf.d/*.conf;
sendfile on;
}
[root@FastDFS01 conf]# cd conf.d/
[root@FastDFS01 conf.d]# cat fdfs.conf
server {
listen 8888;
server_name 10.22.86.49;
# 监听域名中带有group的,交给FastDFS模块处理
location ~/group([0-9])/ {
ngx_fastdfs_module;
}
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
8、DMZ区nginx配置
cat fdfs.conf
upstream abc {
ip_hash;
server 10.22.86.49:8888;
server 10.22.86.50:8888;
}
server {
listen 8055;
server_name 10.22.86.201;
location / {
proxy_pass http://abc;
}
}