ngx-fastdfs實現分佈式圖片實時動態壓縮

installphp

進入docker目錄
docker build -t fastdfs:dev .
使用nginx

docker -idt -p 80:80 fastdfs:dev /bin/bash
進入容器執行
/etc/rc.local
測試git

進入容器執行test目錄下的./test.sh或者直接執行下面腳本
fdfs_test /etc/fdfs/client.conf upload /home/steven/01.jpg
...
group_name=group1, ip_addr=192.168.1.181, port=23000
storage_upload_by_filename
group_name=group1, remote_filename=M00/00/00/wKgdhFTV0ZmAP3AZAPk-Io7D4w8580.jpg
...
example file url: http://192.168.1.181/group1/M...
storage_upload_slave_by_filename
group_name=group1, remote_filename=M00/00/00/wKgdhFTV0ZmAP3AZAPk-Io7D4w8580_big.jpg
...
example file url: http://192.168.1.181/group1/M...
php調用github

首先進入php_client
./configure --with-php-config=/usr/local/php/bin/php-config
make&&make install
在php.ini裏添加
extension=fastdfs_client.so
[fastdfs_client]
fastdfs_client.base_path = /home/fastdfs/fastdfs
fastdfs_client.connect_timeout = 2
fastdfs_client.network_timeout = 60
fastdfs_client.log_level = info
fastdfs_client.log_filename =
fastdfs_client.tracker_group_count = 1
fastdfs_client.tracker_group0 = /etc/fdfs/client.conf
fastdfs_client.use_connection_pool = true
fastdfs_client.connection_pool_max_idle_time = 3600
根據本身的狀況作相應的修改
重啓php-fpm
執行test目錄下的fastdfs.php就能夠看到效果了
使用效果docker

圖片描述

自動壓縮bash

自動壓縮採用減小圖片質量來達到減少圖片體積的效果
使用方法是把nginx裏的nginxauto.conf替換原有的或者本身按着該文件修改
把lua裏的thumbnailauto.lua文件替換原有的或者本身按着該文件修改
注意:fastdfs的storage的配置/etc/fdfs/storage.conf中run_by_group和run_by_user,最好跟nginx的用戶組配置同樣

項目地址php-fpm

github地址:https://github.com/qieangel2013/ngx-fastdfs
歡迎star
相關文章
相關標籤/搜索