FastDFS环境搭建

编程

1. 安装 FastDFS

1.1 安装编译环境

yum install git gcc gcc-c++ make automake vim wget libevent -y

1.2 安装libfastcommon 基础库

#创建目录

mkdir /root/fastdfs

cd /root/fastdfs

#下载 基础库

git clone https://github.com/happyfish100/libfastcommon.git --depth 1

cd libfastcommon/

#编译安装基础库

./make.sh && ./make.sh install

1.3 安装FastDFS

cd /root/fastdfs

#下载 fdfs

wget https://github.com/happyfish100/fastdfs/archive/V5.11.tar.gz

tar -zxvf V5.11.tar.gz

cd fastdfs-5.11

#编译安装 fdfs

./make.sh && ./make.sh install

#配置文件准备(例子转化为具体配置)

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

#配置文件准备

cp /root/fastdfs/fastdfs-5.11/conf/http.conf /etc/fdfs

cp /root/fastdfs/fastdfs-5.11/conf/mime.types /etc/fdfs

1.4 修改 tracker server 配置

vim /etc/fdfs/tracker.conf

#服务端口 storage 和 client 连接 使用

port=22122

#日志数据目录

base_path=/home/fastdfs

1.5  修改 storage server 配置

vim /etc/fdfs/storage.conf

# storage server 端口设置

port=23000

# 数据和日志文件存储根目录

base_path=/home/fastdfs

# 第一个存储目录

store_path0=/home/fastdfs

#设置 tracker server 服务器端口(可多个)

tracker_server=192.168.211.136:22122

#tracker_server=192.168.211.136:22122

# http访问文件的端口(默认8888,看情况修改,和nginx中保持一致)

http.server_port=8888

1.6  启动

#创建 数据和日志文件存储根目录

mkdir /home/fastdfs -p

#添加权限

chmod -R 777 /home/fastdfs/data/

#启动 tracker server 服务

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

#启动 storage server 服务

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

1.7  检查

查看所有运行的端口

netstat -ntlp

查看 fdfs  可执行命令

ls -la /usr/bin/fdfs*

1.8  修改  client 配置

vim /etc/fdfs/client.conf

#需要修改的内容如下

base_path=/home/fastdfs

#tracker服务器IP和端口

tracker_server=192.168.211.136:22122

#保存后测试,返回ID表示成功 如:group1/M00/

1.9 常用命令

#上传文件

/usr/local/bin/fdfs_upload_file <config_file> <local_filename>

#下载文件

/usr/local/bin/fdfs_download_file <config_file> <file_id> [local_filename]

#删除文件

/usr/local/bin/fdfs_delete_file <config_file> <file_id>

2. FDFS 添加 ngnix支持

2.1 安装fastdfs-nginx-module

cd /root/fastdfs

#下载 nginx-module

wget https://github.com/happyfish100/fastdfs-nginx-module/archive/V1.20.tar.gz

#解压

tar -xvf V1.20.tar.gz

cd fastdfs-nginx-module-1.20/src

vim config

修改第5 行 和 15 行 修改成

ngx_module_incs="/usr/include/fastdfs /usr/include/fastcommon/"

CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"

2.2  修改 fastds 模块

# 模块配置

cp mod_fastdfs.conf /etc/fdfs/

vim /etc/fdfs/mod_fastdfs.conf

#需要修改的内容如下

tracker_server=192.168.211.136:22122

url_have_group_name=true

store_path0=/home/fastdfs

2.3 安装 nginx

cd /root/fastdfs

#下载安装 nginx

wget http://nginx.org/download/nginx-1.15.6.tar.gz

tar -zxvf nginx-1.15.6.tar.gz

cd nginx-1.15.6/

yum -y install pcre-devel openssl openssl-devel

# 添加fastdfs-nginx-module模块

./configure --add-module=/root/fastdfs/fastdfs-nginx-module-1.20/src

编译安装

make && make install

查看模块是否安装上

/usr/local/nginx/sbin/nginx -V

2.4 nginx 配置

vim /usr/local/nginx/conf/nginx.conf

#添加如下配置

server {

listen 8888;

server_name localhost;

location ~/group[0-9]/ {

ngx_fastdfs_module;

}

}

启动 nginx

  • start nginx:打开 nginx
  • nginx -t :测试配置文件是否有语法错误
  • nginx -s reopen:重启Nginx
  • nginx -s reload:重新加载Nginx配置文件,然后以优雅的方式重启Nginx
  • nginx -s stop:强制停止Nginx服务
  • nginx -s quit:优雅地停止Nginx服务(即处理完所有请求后再停止服务)

/usr/local/nginx/sbin/nginx

2.5 测试

3. fdfs 动态图片

3.1 lua

3.1.1 安装 lua

cd /root/fastdfs

#获取安装 luaJIT

wget http://luajit.org/download/LuaJIT-2.0.4.tar.gz

tar -zxvf LuaJIT-2.0.4.tar.gz

cd LuaJIT-2.0.4

#编译

make && make install

#获取安装 ngx_devel_kit lua-nginx-module

wget https://github.com/simpl/ngx_devel_kit/archive/v0.2.18.tar.gz

tar -zxvf v0.8.10.tar.gz

wget https://github.com/openresty/lua-nginx-module/archive/v0.8.10.tar.gz

tar -zxvf v0.8.10.tar.gz

#查看 lua 安装目录 和 命令

ls /usr/local/lib

ls /usr/local/include/

#设置 环境变量 ,

#直接运行下列命令(终端关闭失效) 或者 vim /etc/profile 添加一下命令 source /etc/profile 重启!永久生效

export LUAJIT_LIB=/usr/local/lib

export LUAJIT_INC=/usr/local/include/luajit-2.0

#创建软连接 防止 nginx 启动 报错 找不到 libluajit-5.1.so.2

ln -s /usr/local/lib/libluajit-5.1.so.2 /lib64/libluajit-5.1.so.2

3.1.2 nginx 配置  lua

cd /root/fastdfs/nginx-1.15.6

./configure --prefix=/usr/local/nginx

--add-module=/root/fastdfs/ngx_devel_kit-0.2.18

--add-module=/root/fastdfs/lua-nginx-module-0.8.10

--add-module=/root/fastdfs/fastdfs-nginx-module-1.20/src

#重新编译 nginx

make -j2 make install

#查看模块是否安装上

/usr/local/nginx/sbin/nginx -V

参数说明:
./configure --prefix=/etc/nginx   #nginx的安装路径
--add-module=/root/fastdfs/ngx_devel_kit-0.2.18 #ngx_devel_kit 的源码路径
--add-module=/root/fastdfs/lua-nginx-module-0.8.10 #nginx_lua_module 的源码路径

3.1.3 测试 lua

#添加

vim /usr/local/nginx/conf/nginx.conf

#添加

location /lua {

default_type "text/plain";

content_by_lua "ngx.say("hello, lua")";

}

3.2 graphicsmagick

3.2.1 安装

cd /root/fastdfs

#获取 graphicsmagick

wget https://master.dl.sourceforge.net/project/graphicsmagick/graphicsmagick-history/1.3/GraphicsMagick-1.3.18.tar.gz

tar -zxvf GraphicsMagick-1.3.18.tar.gz

cd GraphicsMagick-1.3.18/

#运行配置

./configure --prefix=/usr/local/GraphicsMagick --enable-shared

#编译 安装

make && make install

#查看 GraphicsMagick 版本和支持

/usr/local/GraphicsMagick/bin/gm version

3.2.2 测试

#使用 GraphicsMagick 将 图片 1.jpg 转化 未 thumb.jpg

/usr/local/GraphicsMagick/bin/gm convert -resize 100x80^ -gravity Center -crop 100x80+0+0 1.jpg thumb.jpg

问题: no decode delegate for this image format。     查看配置 是否支持 jpg,png

yum -y install libjpeg libjpeg-devel libpng libpng-devel

3.3  nginx-lua-fastdfs-GraphicsMagick

3.3.1  添加  nginx-lua-fastdfs-GraphicsMagick

#获取 nginx-lua-fastdfs-GraphicsMagick

git clone https://github.com/hpxl/nginx-lua-fastdfs-GraphicsMagick.git

cd nginx-lua-fastdfs-GraphicsMagick/lua

#将 lua配置文件 移动到 nginx

cp ./* /usr/local/nginx/conf/lua

#修改配置

vim /usr/local/nginx/conf/lua/fastdfs.lua

#在46行

fdfs:set_tracker("你的ip", 22122)

#在72行

local command = "/usr/local/GraphicsMagick/bin/gm convert " .. originalFile .. " -thumbnail " .. area .. " -background gray -gravity center -extent " .. area .. " " .. ngx.var.file;

3.3.2 配置 ngnix

vim /usr/local/nginx/conf/nginx.conf

location /group1/M00 {

alias /home/fastdfs/data;

set $image_root "/home/fastdfs/data";

if ($uri ~ "/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/(.*)") {

set $image_dir "$image_root/$3/$4/";

set $image_name "$5";

set $file "$image_dir$image_name";

}

if (!-f $file) {

content_by_lua_file /usr/local/nginx/conf/lua/fastdfs.lua ;

}

ngx_fastdfs_module;

}

3.3.3. 启动

/usr/local/nginx/sbin/nginx

3.4  效果

原图

800x600 图片

以上是 FastDFS环境搭建 的全部内容, 来源链接: utcz.com/z/518699.html

回到顶部