Linux新手入门系列:FastDFS单机安装部署

本文是FastDFS的单机部署。

本系列文章是把作者刚接触和学习Linux时候的实操记录分享出来,内容主要包括Linux入门的一些理论概念知识、Web程序、mysql数据库的简单安装部署,希望能够帮到一些初学者,少走一些弯路。

注意:

Linux下区分大小写;
Linux多用户多线程;
Linux下每个文件和目录都有访问权限;

FastDFS单机安装部署

本文是FastDFS的单机部署。
安装环境:CentOS7 64位、FasDFS-5.12、libfastcommon-1.0.38、fastdfs-nginx-module-1.20、nginx-1.20.1

FastDFS#、#FastDFS安装#、#FastDFS单机部署#

1.准备工作

1)FastDFS及其组件下载地址
https://gitee.com/fastdfs100

https://github.com/happyfish100
2)创建fastdfs目录

# mkdir -p /home/fastdfs/tracker #tracker服务的base_path目录,存储数据和日志的根目录,含存储storage分组信息、存储storage服务器列表、tracker server日志
# mkdir -p /home/fastdfs/storage #storage服务的base_path目录,存储数据和日志的根目录,含存当前storage server初始化信息、当前storage server统计信息
、数据同步sync信息(更新日志binlog、同步完成情况)、storage server日志
# mkdir -p /home/fastdfs/client #client目录,存储数据和日志的根目录
# mkdir -p /home/fastdfs/storage0 #storage_path目录,即文件存储目录

或者,一次性创建多个多级目录

# mkdir -p /home/fastdfs/{tracker,storage,client,storage0}

3)解压缩tar.gz安装包

# cd /home/soft
# tar -zxvf libfastcommon-1.0.38.tar.gz
# tar -zxvf fastdfs-5.12.tar.gz
# tar -zxvf fastdfs-nginx-module-1.20.tar.gz
# tar -zxvf nginx-1.20.1.tar.gz

或者,一次性解压当前目录下多个tar.gz安装包,使用的时候注意目录下非fastdfs的tar.gz包

# for f in ./*.tar.gz; do tar zxvf $f; done

2.开始安装

1)安装依赖包

# yum install -y gcc-c++ zlib-devel pcre-devel openssl-devel

2)编译安装libfastcommon

# cd /home/soft/libfastcommon
# ./make.sh
# ./make.sh install

3)编译安装FastDFS

# cd /home/soft/fastdfs
# ./make.sh
# ./make.sh install

4)编译安装nginx与fastdfs-nginx-module模块

# cd /home/soft/nginx
# ./configure --add-module=/home/soft/fastdfs-nginx-module/src
# make
# make install

3.配置FastDFS

1)配置文件准备

服务器ip为172.16.2.100
  • FastDFS配置文件准备
# cd /etc/fdfs
# cp tracker.conf.sample tracker.conf #tracker配置文件
# cp storage.conf.sample storage.conf #storage配置文件
# cp client.conf.sample client.conf #客户端配置文件,测试上传文件用
  • nginx访问配置文件准备
# cp /home/soft/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs #mod_fastdfs配置文件,供nginx访问使用
# cp /home/soft/fastdfs/conf/http.conf /etc/fdfs #供nginx访问使用
# cp /home/soft/fastdfs/conf/mime.types /etc/fdfs #供nginx访问使用

2)配置tracker.conf文件

# vim /etc/fdfs/tracker.conf

需要修改的内容如下:

port=22122 #tracker服务器端口(默认22122,一般不修改)
base_path=/home/fastdfs/tracker #存储数据和日志的根目录

3)配置storage.conf文件

# vim /etc/fdfs/storage.conf

需要修改的内容如下:

port=23000 #storage服务端口(默认23000,一般不修改)
base_path=/home/fastdfs/storage #存储数据和日志的根目录
store_path0=/home/fastdfs/storage0 #第一个文件存储目录
tracker_server=172.16.2.100:22122 #tracker服务器
http.server_port=80 #使用http访问文件时的端口(和nginx中保持一致)

4)配置client.conf文件(用于测试上传文件)

vim /etc/fdfs/client.conf

需要修改的内容如下:

base_path=/home/fastdfs/client #存储数据和日志的根目录
tracker_server=172.16.2.100:22122  # tracker服务器

5)启动tracker服务和storage服务

# systemctl start fdfs_trackerd
# systemctl start fdfs_storaged

6)配置fastdfs开机自启动

# systemctl enable fdfs_trackerd
# systemctl enable fdfs_storaged

7)测试上传文件

# fdfs_upload_file /etc/fdfs/client.conf /tmp/a.txt

返回FID表示成功 如:group1/M00/00/00/xx.txt

8)参数说明

base_path #存储数据和日志的根目录
    tracker的base_path #tracker服务的base_path目录,存储数据和日志的根目录,含存储storage分组信息、存储storage服务器列表、tracker server日志
    storage的base_path #storage服务的base_path目录,存储数据和日志的根目录,含存当前storage server初始化信息、当前storage server统计信息
、数据同步sync信息(更新日志binlog、同步完成情况)、storage server日志

tracker_server #可以配置多个tracker_server,格式为:ip:port
group_name #group组名称,对应FID中的group1
bind_addr #服务器ip绑定
store_path_count #store_path(数字)的个数,默认为1,根据store_path数量更改个数
store_path(数字) #可以设置多个文件储存目录,数字从0开始,对应FID中的M00

关于FID详述可以参考上篇文章。

4.配置nginx访问

1)配置mod_fastdfs.conf

# vim /etc/fdfs/mod_fastdfs.conf

需要修改的内容如下:

tracker_server=172.16.2.100:22122 #tracker服务器IP和端口
storage_server_port=23000 #storage服务端口(与storage.conf中port保持一致)
url_have_group_name=true #url中是否包含group名称
store_path0=/home/fastdfs/storage0 #第一个文件存储目录

2)配置nginx.config

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

nginx.config添加如下配置:

server {
    listen       80;    # 该端口为storage.conf中的http.server_port相同
    server_name  localhost;
    location ~/group[0-9]/ {
        ngx_fastdfs_module;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
    root   html;
    }
}

3)启动nginx服务

# /usr/local/nginx/sbin/nginx

4)配置nginx开机自启动
将/usr/local/nginx/sbin/nginx,添加到rc.local文件

# vim /etc/rc.d/rc.local

添加以下内容:

# nginx start
/usr/local/nginx/sbin/nginx

5)nginx文件访问测试
在浏览器中输入刚刚测试上传过的文件地址(storage的ip+nginx端口+FID),这里nginx端口是80。
http://172.16.2.100/group1/M00/00/00/xx.txt

在这里插入图片描述
在这里插入图片描述

IT小胖豆:初学者踩坑之路及过程分享,希望能够帮到一些初学者,欢迎各位IT打工人,入坑讨论-_-

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,544评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,430评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,764评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,193评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,216评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,182评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,063评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,917评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,329评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,543评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,722评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,425评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,019评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,671评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,825评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,729评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,614评论 2 353

推荐阅读更多精彩内容