1.安裝依賴包
yum install -y libao* yum groupinstall "Development Tools" "Server platform Development" -y
2.安裝libfastcommon
cd /usr/local/src/ wget https://github.com/happyfish100/libfastcommon/archive/V1.0.43.tar.gz tar -zxvf V1.0.43.tar.gz cd libfastcommon-1.0.43/ ./make.sh ./make.sh install
3.准備fastdfs軟件安裝包
cd /usr/local/src/ wget https://github.com/happyfish100/fastdfs/archive/V6.06.tar.gz tar -zxvf V6.06.tar.gz cd fastdfs-6.06/ ./make.sh ./make.sh install
4.fastdfs配置文件,復制一份文件
cd /etc/fdfs/ cp client.conf.sample client.conf cp storage.conf.sample storage.conf cp tracker.conf.sample tracker.conf
5.創建tracker服務
mkdir -p /data/fastdfs/tracker vim /etc/fdfs/tracker.conf disabled=false #啟用配置文件 port=22122 #設置 tracker 的端口號 base_path=/data/fastdfs/tracker #設置 tracker 的數據文件和日志目錄(需預先創建) http.server_port=8888 #設置 http 端口號 http.server_port=8888 #指的是在tracker服務器上啟動http服務進程,如:apache或者nginx 啟動時所監聽的端口 # 啟動服務 /etc/init.d/fdfs_trackerd start # 檢查 netstat -lntup |grep fdfs tcp 0 0 0.0.0.0:22122 0.0.0.0:* LISTEN 10757/fdfs_trackerd
6.創建storage服務
mkdir -p /data/fastdfs/base mkdir -p /data/fastdfs/storage vim /etc/fdfs/storage.conf disabled=false #啟用配置文件 group_name=group1 #組名,根據實際情況修改 port=23000 #設置 storage 的端口號 base_path=/data/fastdfs/base #設置 storage 的日志目錄(需預先創建) store_path_count=1 #存儲路徑個數,需要和 store_path 個數匹配 store_path0=/data/fastdfs/storage #存儲路徑 tracker_server=172.31.16.121:22122 #tracker 服務器的 IP 地址和端口號 http.server_port=8888 #設置storage上啟動的http服務的端口號,如安裝的nginx的端口號 # 啟動服務 /etc/init.d/fdfs_storaged start # 查看服務 netstat -lntup |grep fdfs tcp 0 0 0.0.0.0:23000 0.0.0.0:* LISTEN 10892/fdfs_storaged tcp 0 0 0.0.0.0:22122 0.0.0.0:* LISTEN 10757/fdfs_trackerd
7.查看tracker和storage配置,可以看到22122,2300端口,ACTIVE狀態
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf [2020-08-25 01:02:40] DEBUG - base_path=/data/fastdfs/base, connect_timeout=5, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=1, g_connection_pool_max_idle_time=3600s, use_storage_id=0, storage server id count: 0 server_count=1, server_index=0 tracker server is 172.31.16.121:22122 group count: 1 Group 1: group name = group1 disk total space = 511,988 MB disk free space = 505,309 MB trunk free space = 0 MB storage server count = 1 active server count = 1 storage server port = 23000 storage HTTP port = 8888 store path count = 1 subdir count per path = 256 current write server index = 0 current trunk file id = 0 Storage 1: id = 172.31.16.121 ip_addr = 172.31.16.121 ACTIVE http domain = version = 6.06 join time = 2020-08-25 01:00:53 up time = 2020-08-25 01:00:53 total storage = 511,988 MB free storage = 505,309 MB upload priority = 10 store_path_count = 1 subdir_count_per_path = 256 storage_port = 23000 storage_http_port = 8888 current_write_path = 0 source storage id = if_trunk_server = 0 connection.alloc_count = 256 connection.current_count = 0 connection.max_count = 0 total_upload_count = 0 success_upload_count = 0 total_append_count = 0 success_append_count = 0 total_modify_count = 0 success_modify_count = 0 total_truncate_count = 0 success_truncate_count = 0 total_set_meta_count = 0 success_set_meta_count = 0 total_delete_count = 0 success_delete_count = 0 total_download_count = 0 success_download_count = 0 total_get_meta_count = 0 success_get_meta_count = 0 total_create_link_count = 0 success_create_link_count = 0 total_delete_link_count = 0 success_delete_link_count = 0 total_upload_bytes = 0 success_upload_bytes = 0 total_append_bytes = 0 success_append_bytes = 0 total_modify_bytes = 0 success_modify_bytes = 0 stotal_download_bytes = 0 success_download_bytes = 0 total_sync_in_bytes = 0 success_sync_in_bytes = 0 total_sync_out_bytes = 0 success_sync_out_bytes = 0 total_file_open_count = 0 success_file_open_count = 0 total_file_read_count = 0 success_file_read_count = 0 total_file_write_count = 0 success_file_write_count = 0 last_heart_beat_time = 2020-08-25 01:02:24 last_source_update = 1970-01-01 00:00:00 last_sync_update = 1970-01-01 00:00:00 last_synced_timestamp = 1970-01-01 00:00:00
8.測試fastdfs客戶端工具進行文件上傳下載,編輯客戶端client.conf配置文件
vim /etc/fdfs/client.conf connect_timeout=30 network_timeout=60 base_path=/data/fastdfs/client # 日志路徑 tracker_server=172.31.16.121:22122 # 追蹤服務器的IP,有多個服務器可以另一行 log_level=info use_connection_pool = false connection_pool_max_idle_time = 3600 load_fdfs_parameters_from_tracker=false use_storage_id = false storage_ids_filename = storage_ids.conf http.tracker_server_port=80
9.測試上傳,看到返回地址,上傳成功
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /tmp/1.txt group1/M00/00/00/rB8QeV9EZmeALc4DAAAABsIXzec974.txt
10.下載文件
/usr/bin/fdfs_download_file /etc/fdfs/client.conf group1/M00/00/00/rB8QeV9EZmeALc4DAAAABsIXzec974.txt total 64 -rw-r--r--. 1 root root 1911 Aug 25 01:14 client.conf -rw-r--r--. 1 root root 1909 Aug 25 00:43 client.conf.sample -rw-r--r--. 1 root root 6 Aug 25 01:17 rB8QeV9EZmeALc4DAAAABsIXzec974.txt -rw-r--r--. 1 root root 10244 Aug 25 00:59 storage.conf -rw-r--r--. 1 root root 10246 Aug 25 00:43 storage.conf.sample -rw-r--r--. 1 root root 620 Aug 25 00:43 storage_ids.conf.sample -rw-r--r--. 1 root root 9139 Aug 25 00:50 tracker.conf -rw-r--r--. 1 root root 9138 Aug 25 00:43 tracker.conf.sample
11.下載fastdfs的nginx依賴包,安裝fastdfs-nginx-module
cd /usr/local/src wget https://github.com/happyfish100/fastdfs-nginx-module/archive/V1.22.tar.gz tar -zxvf V1.22.tar.gz
12.安裝nginx依賴文件
yum install -y gcc gcc-c++ zlib zlib-devel openssl openssl-devel pcre pcre-devel gd-devel epel-release useradd -s /sbin/nologin -M nginx
13.下載nginx
cd /usr/local/src wget https://nginx.org/download/nginx-1.19.2.tar.gz tar -zxvf nginx-1.19.2.tar.gz cd nginx-1.19.2/ ./configure --prefix=/usr/local/nginx-1.19.0 --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --add-module=/usr/local/src/fastdfs-nginx-module-1.22/src make make install ln -sv /usr/local/nginx-1.19.0/ /usr/local/nginx
14.將Fastdfs軟件包里面的http.conf和mime.types拷貝到/etc/fdfs目錄下
cp /usr/local/src/fastdfs-6.06/conf/mime.types /etc/fdfs/ cp /usr/local/src/fastdfs-6.06/conf/http.conf /etc/fdfs/ cp /usr/local/src/fastdfs-6.06/conf/anti-steal.jpg /etc/fdfs/
15.配置nginx的fastdfs模塊,並編輯文件
cp /usr/local/src/fastdfs-nginx-module-1.22/src/mod_fastdfs.conf /etc/fdfs/ vim mod_fastdfs.conf base_path=/data/fastdfs/storage #保存日志目錄 tracker_server=172.31.16.121:22122 #tracker 服務器的 IP 地址以及端口號 storage_server_port=23000 #storage服務器的端口號 group_name=group1 #當前服務器的group名 url_have_group_name = true #文件url中是否有group 名 store_path_count=1 #存儲路徑個數,需要和store_path 個數匹配 store_path0=/data/fastdfs/storage #存儲路徑 group_count = 1 #設置組的個數 #然后在末尾添加分組信息,目前只有一個分組,就只寫一個 [group1] group_name=group1 storage_server_port=23000 store_path_count=1 store_path0=/data/fastdfs/storage
16.配置nginx
cd /usr/local/nginx/conf/ mkdir vhost cd vhost vim fastdfs.conf # server { listen 80; server_name img.rocilife.com; #server_name 172.31.16.121; location ~ /group[1-3]/M00 { #root /data/fastdfs/data; alias /data/fastdfs/storage/data; ngx_fastdfs_module; } # 根目錄下返回403 location = / { return 403; } # log file access_log logs/img_access.log access; }
https://blog.csdn.net/yuki5233/article/details/106649075