FastDFS文件服務器的安裝

1.步驟:

  1. 環境依賴的安裝
  2. 配置安裝路徑
  3. 安裝相關組件
  4. 進行環境配置
  5. 常見問題彙總
1-1. 環境依賴的安裝
yum install git gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl-devel wget vim -y
2-1 配置安裝路徑
  • storage 安裝目錄 /home/fastdfs/storage
  • tracker 安裝目錄 /home/fastdfs/tracker
  • 應用安裝目錄 /service/applicaetion
  • 組件下載目錄 /service/tools
3.1 安裝相關組件
3.1.1 創建目錄
mkdir -p service/{application,tools}
3.1.2 下載安裝 libfatscommon 模塊
cd /service/tools
#資源下載
git clone https://github.com/happyfish100/libfastcommon.git --depth 1
#進入目錄進行安裝
cd libfastcommon/
./make.sh && ./make.sh install #編譯安裝
#創建軟連接
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
3.1.3 下載安裝 FastDFS 模塊
#進入到下載目錄
cd ~ /service/tools
git clone https://github.com/happyfish100/fastdfs.git --depth 1
cd fastdfs/
./make.sh && ./make.sh install #編譯安裝
3.1.4 複製配置文件
#配置文件準備
cp /service/tools/fastdfs/conf/tracker.conf.sample /etc/fdfs/tracker.conf
cp /service/tools/fastdfs/conf/storage.conf.sample /etc/fdfs/storage.conf
cp /service/tools/fastdfs/conf/client.conf.sample /etc/fdfs/client.conf #客戶端文件,測試使用
cp /service/tools/fastdfs/conf/http.conf /etc/fdfs/  #供nginx訪問使用
cp /service/tools/fastdfs/conf/mime.types /etc/fdfs/ #供nginx訪問使用
3.1.5 安裝 fastdfs-nginx-module 模塊
cd ~ /service/tools
git clone https://github.com/happyfish100/fastdfs-nginx-module.git --depth 1
cp /service/tools/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs #nginx 模塊訪問使用的配置
3.1.6 安裝nginx 模塊

請參考我之前的文章 Nginx 安裝

注意!!! 需要在配置項中添加 FastDFS模塊

 ./configure --prefix=/home/nginx --with-http_ssl_module  --add-module=/service/tools/fastdfs-nginx-module/src
4.1 進行環境配置
4.1.1 tracker的配置
#服務器ip爲 10.155.11.10
#我建議用ftp下載下來這些文件 本地修改
vim /etc/fdfs/tracker.conf
#需要修改的內容如下
port=22122  # tracker服務器端口(默認22122,一般不修改)
base_path=/home/fastdfs/tracker  # 存儲日誌和數據的根目錄
#全部配置如下
disabled = false
bind_addr =
port = 22122
connect_timeout = 5
network_timeout = 60
base_path = /home/fastdfs/tracker
max_connections = 1024
accept_threads = 1
work_threads = 4
min_buff_size = 8KB
max_buff_size = 128KB
store_lookup = 2
store_group = group2
store_server = 0
store_path = 0
download_server = 0
reserved_storage_space = 20%
log_level = info
run_by_group=
run_by_user =
allow_hosts = *
sync_log_buff_interval = 1
check_active_interval = 120
thread_stack_size = 256KB
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 = 1MB
trunk_alloc_alignment_size = 256
trunk_free_space_merge = true
delete_unused_trunk_files = false
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 = 86400
trunk_compress_binlog_interval = 86400
trunk_compress_binlog_time_base = 03:00
trunk_binlog_max_backups = 7
use_storage_id = false
storage_ids_filename = storage_ids.conf
id_type_in_filename = id
store_slave_file_use_link = false
rotate_error_log = false
error_log_rotate_time = 00:00
compress_old_error_log = false
compress_error_log_days_before = 7
rotate_error_log_size = 0
log_file_keep_days = 0
use_connection_pool = true
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
4.1.2 storage的配置
vim /etc/fdfs/storage.conf
#需要修改的內容如下
port=23000  # storage服務端口(默認23000,一般不修改)
base_path=/home/fastdfs/storage  # 數據和日誌文件存儲根目錄
store_path0=/home/fastdfs/storage/data  # 第一個存儲目錄
tracker_server=10.155.11.10:22122  # tracker服務器IP和端口
http.server_port=8888  # http訪問文件的端口(默認8888,看情況修改,和nginx中保持一致)
#全部配置如下
disabled = false
group_name = group1
bind_addr =
client_bind = true
port = 23000
connect_timeout = 5
network_timeout = 60
heart_beat_interval = 30
stat_report_interval = 60
base_path = /home/fastdfs/storage
max_connections = 1024
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
disk_recovery_threads = 3
store_path_count = 1
store_path0 = /home/fastdfs/storage/data
subdir_count_per_path = 256
tracker_server = 10.211.11.10:22122
tracker_server = 10.211.11.10: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 = 1
sync_binlog_buff_interval = 1
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
compress_old_access_log = false
compress_access_log_days_before = 7
rotate_error_log = false
error_log_rotate_time = 00:00
compress_old_error_log = false
compress_error_log_days_before = 7
rotate_access_log_size = 0
rotate_error_log_size = 0
log_file_keep_days = 0
file_sync_skip_invalid_record = false
use_connection_pool = true
connection_pool_max_idle_time = 3600
compress_binlog = true
compress_binlog_time = 01:30
check_store_path_mark = true
http.domain_name =
http.server_port = 8888
4.2 開啓服務
#啓動 tracker 服務
systemctl start fdfs_trackerd
Starting fdfs_trackerd (via systemctl):                    [  OK  ]

#啓動 storaged 服務
systemctl start fdfs_storaged
Starting fdfs_storaged (via systemctl):                    [  OK  ]

#同時設置開機自啓動
vim /etc/rc.d/rc.local
#加到最後一行
systemctl start fdfs_trackerd
systemctl start fdfs_storaged

4.3 配置客戶端
vim /etc/fdfs/client.conf
#需要修改的內容如下
base_path=/home/fastdfs/storage
tracker_server=10.155.11.10:22122    #tracker服務器IP和端口
#保存後測試,返回ID表示成功 如:group1/M00/00/00/xx.tar.gz
fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/nginx-1.15.4.tar.gz

上傳成功會顯示文件目錄:
http://10.155.11.10:8888/group1/M00/00/00/CtM3C178dCuAVe0IAAEtoZaCs2c959.jpg
4.4 Nginx 的相關配置
vim /etc/fdfs/mod_fastdfs.conf
#需要修改的內容如下
tracker_server=10.155.11.10:22122  #tracker服務器IP和端口
url_have_group_name=true #請求中允許出現 group
store_path0=/home/fastdfs/storage
#配置nginx.config
vim /usr/local/nginx/conf/nginx.conf
#添加如下配置
server {
    listen       8888;    ## 該端口爲storage.conf中的http.server_port相同
    server_name  localhost;
    location ~/group[0-9]/ {
        ngx_fastdfs_module;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
    root   html;
    }
}

#進入到Nginx sbin目錄進行重啓
./nginx -s reload
4.5 進行訪問測試
如果 訪問不了 就修改防火牆
firewall-cmd --zone=public --add-port=23000/tcp --permanent #開戶端口號
或者
systemctl enable firewalld.service #開啓防火牆
systemctl stop firewalld.service #關閉防火牆(開機會仍會啓動)
systemctl disable firewalld.service #禁用防火牆(開機後不再啓動)

在瀏覽器上輸入 地址 http://10.211.55.11:8888/group1/M00/00/00/CtM3C178dCuAVe0IAAEtoZaCs2c959.jpg

在這裏插入圖片描述
恭喜安裝成功 !!!

5.1 常見問題

如配置文件配置 錯誤, 則會報如下錯誤, 請安裝上面的流程重新梳理一遍

[2015-04-28 11:30:14] ERROR - file: ini_file_reader.c, line: 315, include file "http.conf" not exists, line: "#include http.conf"
[2015-04-28 11:30:14] ERROR - file: /root/fastdfs-nginx-module-master/src/common.c, line: 155, load conf file "/etc/fdfs/mod_fastdfs.conf" fail, ret code: 2
2015/04/28 11:30:14 [alert] 19969#0: worker process 2753 exited with fatal code 2 and cannot be respawned
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章