FastDFS+Nginx动态缩略

方案需求:

1、使用两台服务器,其中一台做tracker和storage,另一台仅仅做storage

2、在两台storage中进行轮巡存储,每台服务器设置一个group,分别为group1和group2

改文档中的环境,ip地址为:

tracker和storage1:192.168.199.160

storage2:192.168.199.231

[ 记得操作前,关闭防火墙和selinux

扫描二维码关注公众号,回复: 1751691 查看本文章

systemctl stop firewalld

sed -i 's@SELINUX=enforcing@SELINUX=disabled@g' /etc/selinux/config 

setenforce 0

]

一:首先对第一台storage进行配置,tracker也在这台服务器中,group为group1

1、安装依赖包和开发工具

yum -y install pcre* pcre-* gcc-c++ gcc* zlib zlib-devel openssl openssl-devel gc-devel gd gd-devel git

2、安装lib套件:libfastcommon

cd /usr/local/src
git clone https://github.com/happyfish100/libfastcommon.git
cd libfastcommon
./make.sh && ./make.sh install
 
3、设置软链接
ln -s /usr/lib64/libfastcommon.so /usr/lib/
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/
ln -s /usr/lib64/libfastcommon.so /usr/local/lib64/
ln -s /usr/lib64/libfdfsclient.so /usr/lib/
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib64/
 
4、安装fastdfs
cd /usr/local/src/fastdfs
./make.sh && ./make.sh install
cp -r /usr/local/src/fastdfs-master/conf/* /etc/fdfs/
 
# 配置tracker配置文件
cd /etc/fdfs/ && vim tracker.conf
bind_addr=192.168.199.160  # 绑定tracker的地址,tracker和storage为同一台服务器
port=22122   # 端口
base_path=/data/server/fastdfs
store_lookup=0   # 0为轮巡
store_group=group1
store_server=0   # 0为轮巡
use_storage_id = true   # 这里使用组id而不是ip地址
id_type_in_filename = id
 
 
# 配置storage配置文件
vim /etc/fdfs/storage.conf
group_name=group1
bind_addr=192.168.199.160
port=23000
base_path=/data/server/fastdfs_storage
store_path0=/data/server/fastdfs_storage
tracker_server=192.168.199.160:22122
 
# 配置client配置文件
vim /etc/fdfs/client.conf
base_path=/data/server/fastdfs_client
tracker_server=192.168.199.160:22122
use_storage_id = ture
 
# 创建相关目录
mkdir /data/server/fastdfs
mkdir /data/server/fastdfs_storage
mkdir /data/server/fastdfs_client
mkdir /data/server/fastdfs_tracker
 
# 启动tracker

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

# 启动storage

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

 
5、安装nginx
创建相关目录:mkdir -p /data/server/nginx/html/group1
 
5.1、解压fastdfs_nginx_module,然后编译安装nginx,加上此模块一起编译
cd /usr/local/src/
tar -zxvf fastdfs_nginx_module.tar.gz
# 安装
tar -zxvf nginx.tar.gz
cd nginx/
# 开始编译,安装相关模块
./configure --prefix=/data/server/nginx \
--add-module=/usr/local/src/fastdfs-nginx-module/src \
--with-http_gunzip_module \
--with-pcre \
--with-http_image_filter_module \
--with-http_stub_status_module
 

编译安装nginx时遇到的问题:

问题一:
In file included from /data/server/fastdfs-nginx-module/src/ngx_http_fastdfs_module.c:6:0:
/data/server/fastdfs-nginx-module/src/common.c:21:25: 致命错误:fdfs_define.h:没有那个文件或目录
#include "fdfs_define.h"
答案:
编译中断。

原因:编译安装nginx的fastdfs插件的头文件没有找到,由于编译nginx时候系统会到/usr/local/include,而编译安装fastdfs-nginx-module时则默认保存在了/usr/include目录。

修复:ln -s /usr/include/fast* /usr/local/include/

]
 
# -------------------------------------
解决方法一:
ln -s /usr/include/fast* /usr/local/include/
解决方法二,修改配置文件(建议用此方法,最好在编译前先修改好,就不会出错了):
vim /usr/local/src/fastdfs-nginx-module/src/config
>>CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
 
然后重新进行上一步./configure 步骤。
 
# 开始编译
make
# 如果没有问题就开始install
make install 
 
5.2、编辑nginx配置文件
复制文件:
cp /usr/local/src/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
 
编程nginx配置文件
vim /data/server/nginx/conf/nginx.conf
添加:
>>location /photo {
rewrite "/photo/path=M00/(\w+)/(\w+)/x=(\d+)&(\d+)/(.+).(png|jpg|gif)" /group1/M00/$1/$2/$5_$3x$4.$6;
}
 
 
location ~* /group1/M00/(\w+)/(\w+)/(.+)_(\d+)x(\d+)\.(png|jpg|gif) {
root "/data/server/nginx/html/";
ngx_fastdfs_module;
set $iw "$4";
set $ih "$5";
image_filter resize $iw $ih;
image_filter_buffer 2M;
try_files /group1/M00/$1/$2/$3.$6 /404.html;
}
 
location /group1/M00 {
root "/date/server/nginx/html/";
ngx_fastdfs_module;
}
 
 
location = /favicon.ico {
log_not_found off;
access_log off;
}
 
 
 
# 创建目录及软件链
mkdir /data/server/nginx/html/group1
ln -s /data/server/fastdfs_storage/data /data/server/nginx/html/group1/M00
[ 注意 /data/srever/fastdfs_storage/data    最后一个data不能有 /  ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

猜你喜欢

转载自www.cnblogs.com/relax1949/p/9223592.html
今日推荐