单机FastDFS安装教程

1.1.1安装工具包和依赖环境

yum install wget
yum install -y unzip zip
yum -y groupinstall ‘Development Tools’

1.1.2下载相关软件包

在/usr/local/src 文件目录下执行下载操作

FastDFS: 
wget https://codeload.github.com/happyfish100/fastdfs/zip/master

Libfastcommon-master:
wget https://github.com/happyfish100/libfastcommon/archive/master.zip

fastdfs-nginx-module:
wget https://github.com/happyfish100/fastdfs-nginx-module/archive/master.zip

Lua(ngx_openresty ):
wget http://openresty.org/download/ngx_openresty-1.7.10.1.tar.gz

1.1.3解压下载的软件包

解压下载的软件包到usr/local/src目录下即可

1.1.4安装FastDFS依赖环境libfastcommon-master

cd libfastcommon-master                    #切换到libfastcommon-master目录下
./make.sh
./make.sh install                            #安装编译

安装完毕后,自动创建了三个文件夹,并将一些文件(*.so | *.h)安装到了以下文件中

1.1.5安装Fastdfs

cd fastdfs-master                     #切换到fastdfs目录下
./make.sh   
./make.sh install                      #编译安装

执行结果:将相关文件存储到一下文件

1.1.6创建文件夹

存放data和log

mkdir -p /data/englishData
mkdir -p /data/nginx

存放error.log和mod_nginx.log

mkdir -p /data/nginx/logs

1.1.7拷贝配置文件

cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf

1.1.8配置tracker(修改tracker.conf)

vim /etc/fdfs/tracker.conf                     #修改tracker.conf配置文件

修改内容:
日志文件存储路径: /data
执行权限:root

base_path=/data
run_by_group=root
run_by_user=root

修改完成后启动tracker

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start

1.1.9配置storage(修改storage.conf)

vim /etc/fdfs/storage.conf                 #修改storage.conf配置文件

修改内容:
日志文件存储路径:/data
执行权限:root
组名:group1(可以修改)
tracker服务器地址:192.168.22.XXX.22122
存储文件路径:base_path: /data/englishData

修改后storage.conf内容大致如下:

disabled=false
bind_addr=
client_bind=true
connect_timeout=10
network_timeout=60
heart_beat_interval=30
stat_report_interval=60
base_path=/data/englishData
max_connections=1024
buff_size = 256KB
accept_threads=1
disk_rw_separated = true
work_threads=4
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

###################修改地點#####################

group_name=group1
store_path_count=1
store_path0=/data/englishData
port=23000
tracker_server=192.168.22.133:22122

###############################################
subdir_count_per_path=256
log_level=info
run_by_group=root
run_by_user=root
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.server_port=8888

修改完成后,启动fdfs_storaged

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start

1.1.10创建链接

ln -s /data/englishData/data /data/englishData/data/M00
这里的M00其实就是相当于是一个磁盘

1.1.11配置storage测试端

vim /etc/fdfs/client.conf

修改内容:
日志文件存储路径:/data
Tracker服务器地址:192.168.22.XX.22122

base_path=/data
tracker_server=192.168.22.XX.22122

本地测试上传

/usr/bin/fdfs_test /etc/fdfs/client.conf upload /etc/fdfs/storage.conf

1.1.12搭建nginx_openresty

安装编译环境

yum install pcre-devel openssl openssl-devel

安装nginx_openresty包

cd /usr/local/src/ngx_openresty-1.7.10.1                           #切换目录
./configure --with-luajit --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module 
--add-module=../fastdfs-nginx-module-master/src                    #安装配置nginx模块
make                                         
make install                                                       #安装编译

1.1.13配置mod_fastdfs.conf文件

#将mod_fastdfs.conf复制到/etc/fdfs目录下

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

#编辑配置文件

vim /etc/fdfs/mod_fastdfs.conf

#修改后内容如下:

    connect_timeout=2
    network_timeout=30
    load_fdfs_parameters_from_tracker=true
    storage_sync_file_max_delay = 86400
    use_storage_id = false
    storage_ids_filename = storage_ids.conf
    
    #######################所需的配置###########################
    
    base_path=/data/nginx
    tracker_server=192.168.22.133:22122
    group_name=group1
    url_have_group_name = true
    log_filename=/data/nginx/logs/mod_nginx.log
    group_count = 1
    
    [group1]
    group_name=group1
    storage_server_port=23000
    store_path_count=1
    store_path0=/data/englishData
    
    ################################################################
    log_level=info
    response_mode=proxy
    if_alias_prefix=
    flv_support = true
    flv_extension = flv

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

#include http.conf

1.1.14配置http.conf和mime.types文件到/etc/fdfs

cd /usr/local/src/fastdfs-master/conf        #切换目录
sudo cp http.conf mime.types /etc/fdfs/     #复制文件

1.1.15配置nginx.conf文件

切换目录到 /usr/local/openresty/nginx/conf

cd /usr/local/openresty/nginx/conf

修改部分如下:

#user  nobody;
user root;
worker_processes  1;

error_log /data/nginx/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/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"';
#    access_log /data/nginx/access.log  main;
    sendfile on;
    #tcp_nopush on;
    #keepalive_timeout  0;
    keepalive_timeout  65;
    gzip  on;
    server {
        listen 80;
        server_name  localhost;
        charset utf8;
        #access_log  logs/host.access.log  main;
		location /group1/M00 {
            alias /data/englishData/data ;
			ngx_fastdfs_module;
		}

修改完成后,启动nginx服务

/usr/local/openresty/nginx/sbin/nginx

1.1.16防火墙设置

安装插件:安装firewalld

yum install firewalld

状态查看: firewall-cmd --state / systemctl status firewalld (systemctl命令只是适用于centos7以上版本,在centos6.5上需使用service命令)
开启:systemctl start firewalld
关闭:systemctl stop firewalld
添加端口号:
查看正在开启端口:iptables -L -n

查看刚添加的开启端口:firewall-cmd --zone=public --list-port

添加:firewall-cmd --zone=public --add-port=******/tcp --permanent (**代表端口号)

重启防火墙:firewall-cmd --reload

查看添加端口号状态:firewall-cmd -zone=public --query-port=*****/tcp

1.2测试运行效果

1.2.1测试上传

/usr/bin/fdfs_test /etc/fdfs/client.conf upload /usr/local/src/XXX(文件名)

你可能感兴趣的:(#,FastDFS)