Centos7部署FastDFS(单机版)

it2024-11-23  37

Centos7部署FastDFS(单机版)

1. 安装包下载与解压

mkdir -p /baicdt/softwares/fastdfs cd /baicdt/softwares/fastdfs # 获取libfastcommon安装包: wget https://github.com/happyfish100/libfastcommon/archive/V1.0.38.tar.gz # 获取fdfs安装包: wget https://github.com/happyfish100/fastdfs/archive/V5.11.tar.gz # 下载fastdfs-nginx-module安装包 wget https://github.com/happyfish100/fastdfs-nginx-module/archive/V1.20.tar.gz # 下载Nginx安装包 wget http://nginx.org/download/nginx-1.10.1.tar.gz # 解压 tar -zxvf V1.0.38.tar.gz -C /usr/local/src/ tar -zxvf V5.11.tar.gz -C /usr/local/src/ tar -zxvf V1.20.tar.gz -C /usr/local/src/ tar -zxvf nginx-1.10.1.tar.gz -C /usr/local/src/ # 安装gcc环境、libevent yum install -y gcc gcc-c++ libevent

FastDFS是C语言开发,安装FastDFS需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc;

FastDFS依赖libevent库;

2. 安装libfastcommon

cd /usr/local/src/libfastcommon-1.0.38 ./make.sh #编译 ./make.sh install #安装 # libfastcommon安装好后会在/usr/lib64 目录下生成libfastcommon.so库文件; # 由于FastDFS程序引用usr/lib目录,如果/usr/lib目录下没有libfastcommon.so库文件,需要将/usr/lib64下的库文件拷贝至/usr/lib下 ls /usr/lib | grep libfastcommon.so # cp /usr/lib64/libfastcommon.so /usr/lib

3. 安装tracker

# 编译源码 cd /usr/local/src/fastdfs-5.11/ ./make.sh #编译 ./make.sh install #安装 # 拷贝编译后的配置文件到 /etc/fdfs 目录下 cp /usr/local/src/fastdfs-5.11/conf/* /etc/fdfs/ # 创建tracker存储data和log的跟路径 mkdir -p /home/fastdfs/tracker # 编辑tracker.conf,下个代码块是需要修改相关参数 vim /etc/fdfs/tracker.conf base_path=/home/fastdfs/tracker #tracker存储data和log的跟路径,必须提前创建好 port=22122 #tracker默认22122 http.server_port=80 #http端口,需要和nginx相同

启动tracker,运行如下命令:

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart # 查看tracker进程 netstat -ntlp | grep fdfs

4. 安装storage

# 创建storage存储data和log的跟路径 mkdir -p /home/fastdfs/storage # 编辑storage.conf,下个代码块是需要修改相关参数 vim /etc/fdfs/storage.conf base_path=/home/fastdfs/storage #storage存储data和log的跟路径,必须提前创建好 port=23000 #storge默认23000,同一个组的storage端口号必须一致 group_name=group1 #默认组名,根据实际情况修改 store_path_count=1 #存储路径个数,需要和store_path个数匹配 store_path0=/home/fastdfs/storage #如果为空,则使用base_path tracker_server=10.90.21.29:22122 #配置该storage监听的tracker的ip和port,内网IP

启动storage,运行如下命令:

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart # 查看tracker进程 netstat -ntlp | grep fdfs # 通过monitor来查看storage是否成功绑定: /usr/bin/fdfs_monitor /etc/fdfs/storage.conf

5. 配置FastDFS测试工具

# 编辑client.conf,下个代码块是需要修改相关参数 vim /etc/fdfs/client.conf base_path=/home/fastdfs/tracker tracker_server=10.90.21.29:22122 # tracker服务器IP地址和端口号 http.tracker_server_port=80 # tracker服务器的http端口号,必须和tracker的设置对应起来

测试

# 创建一个文件 echo "Hello fdfs" > /root/aaa.txt # 上传文件到fastdfs文件系统 /usr/bin/fdfs_test /etc/fdfs/client.conf upload /root/aaa.txt

日志如下:

This is FastDFS client test program v5.11 Copyright (C) 2008, Happy Fish / YuQing FastDFS may be copied only under the terms of the GNU General Public License V3, which may be found in the FastDFS source kit. Please visit the FastDFS Home Page http://www.csource.org/ for more detail. [2020-10-12 13:51:10] DEBUG - base_path=/home/fastdfs/tracker, connect_timeout=30, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=0, g_connection_pool_max_idle_time=3600s, use_storage_id=0, storage server id count: 0 tracker_query_storage_store_list_without_group: server 1. group_name=, ip_addr=10.90.21.29, port=23000 group_name=group1, ip_addr=10.90.21.29, port=23000 storage_upload_by_filename group_name=group1, remote_filename=M00/00/00/CloVHV-D7s6AVv9CAAAAC-D6F2A392.txt source ip address: 10.90.21.29 file timestamp=2020-10-12 13:51:10 file size=11 file crc32=3774486368 example file url: http://10.90.21.29/group1/M00/00/00/CloVHV-D7s6AVv9CAAAAC-D6F2A392.txt storage_upload_slave_by_filename group_name=group1, remote_filename=M00/00/00/CloVHV-D7s6AVv9CAAAAC-D6F2A392_big.txt source ip address: 10.90.21.29 file timestamp=2020-10-12 13:51:10 file size=11 file crc32=3774486368 example file url: http://10.90.21.29/group1/M00/00/00/CloVHV-D7s6AVv9CAAAAC-D6F2A392_big.txt

http://10.91.21.29/group1/M00/00/00/CloVHV-D7s6AVv9CAAAAC-D6F2A392_big.txt目前无法直接访问,需部署nginx及相应插件

6. 安装fastdfs-nginx-module

# 修改/usr/local/src/fastdfs-nginx-module-1.20/src/config配置文件,下个代码块是需要修改的两行参数 vim /usr/local/src/fastdfs-nginx-module-1.20/src/config ngx_module_incs="/usr/include/fastdfs /usr/include/fastcommon/" CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/" # 复制/usr/local/src/fastdfs-nginx-module-1.20/src/mod_fastdfs.conf文件到/etc/fdfs/目录下,并修改,下个代码块是需要修改参数 cp /usr/local/src/fastdfs-nginx-module-1.20/src/mod_fastdfs.conf /etc/fdfs/ vim /etc/fdfs/mod_fastdfs.conf base_path=/home/fastdfs tracker_server=10.90.21.29:22122 #tracker的地址 url_have_group_name=true #url是否包含group名称 storage_server_port=23000 #需要和storage配置的相同 store_path_count=1 #存储路径个数,需要和store_path个数匹配 store_path0=/home/fastdfs/storage #文件存储的位置

7. 安装nginx

# 安装依赖库 yum -y install pcre pcre-devel zlib zlib-devel openssl openssl-devel # 进入nginx安装包解压后的源码目录 cd /usr/local/src/nginx-1.10.1 # 配置,并加载fastdfs-nginx-module模块 ./configure --prefix=/usr/local/nginx --add-module=/usr/local/src/fastdfs-nginx-module-1.20/src/ # 编译 make # 安装: make install

查看nginx版本:发现fastdfs模块已经安装好了

[root@elk01 nginx-1.10.1]# /usr/local/nginx/sbin/nginx -V nginx version: nginx/1.10.1 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) configure arguments: --prefix=/usr/local/nginx --add-module=/usr/local/src/fastdfs-nginx-module-1.20/src/

修改nginx配置文件

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

在第42行处添加以下配置

location ~/M00 { root /home/fastdfs/storage/data; ngx_fastdfs_module; }

启动nginx

cd /usr/local/nginx/sbin/ ./nginx # ./nginx -s stop #此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程 # ./nginx -s quit #此方式停止步骤是待nginx进程处理任务完毕进行停止 # ./nginx -s reload

8. 测试调试

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart /usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart netstat -ntlp | grep fdfs /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx -s stop netstat -ntlp | grep nginx # 创建一个文件 echo "Hello fdfs" > /root/bbb.txt # 上传文件到fastdfs文件系统 http://10.91.21.29/group1/M00/00/00/CloVHV-D99CAQ2m3AAAAC-D6F2A337_big.txt /usr/bin/fdfs_test /etc/fdfs/client.conf upload /root/bbb.txt
最新回复(0)