当前位置:   article > 正文

linux上安装fastdfs及配置

linux上安装fastdfs及配置

一、基础环境准备

1、所需软件

在这里插入图片描述

名称说明
libfastcommonfastdfs分离出的一些公用函数包
fastdfsfastdas软件包
fastdfs-nginx-modulefastdfst和nginx的关联模块
nginxnginxl软件包

2、编辑环境

安装一些基础的支持环境

yum install git gccc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl-devel wget vim -y
  • 1

如果不安装上面的基础环境 则后面安装时可能会出现相关命令找不见,如下
在这里插入图片描述
如果服务器无法访问外部网络,则只能通过离线包方式安装相关基础环境了。相关软件包已为大家准备妥当,敬请取用:
fastdfs相关离线软件包

2.1gcc安装

GCC为C语言编译器,由于fastdfs相关源码都是c语主编写的,所以环境上必须安装gcc
进入上传到服务器的gcc目录 执行以下命令 进行安装

rpm -Uvh *.rpm --nodeps --force
  • 1
2.2 pcre安装

PCRE 作用是让 Nginx 支持 Rewrite 功能
安装命令如下

# 解压
tar -xzvf pcre-8.35.tar.gz
cd pcre-8.35/
./configure
make 
make install
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
2.3 安装openssl
tar -xzvf openssl-1.1.1h.tar.gz 
cd  openssl-1.1.1h
./config
make
make install
  • 1
  • 2
  • 3
  • 4
  • 5
2.4 安装zlib
tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11/
./configure
make
make install
  • 1
  • 2
  • 3
  • 4
  • 5

3、磁盘目录

说明位置
所有安装包的位置/data/fastdfs-soft 将所准备的软件包上传至该目录
数据存储位置/data/fastdfs

4、相关fastdfs软件安装

对于服务器如果服务器有外网,可以使用git拉取源码下来进行编绎安装。如果没有外网环境,则可以通过拷贝软件包至服务器,然后解压后进行编辑安装

4.1 安装libfastcommon

方式一:通过git从网上拉取源码

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

方式二:通过有网环境下载软件包 然后拷贝至服务器,解压 (我这里是通过这种方式上传的,zip包 使用unzip libfastcommon-1.0.43.zip 命令进行解压)
无论是第一种方式 还是第二种方式 获取到的都是源码软件包,当一切都准备好后,进入到libfastcommon目录下 执行下以命令进行编绎及安装

# 我这里是自己上传的包  是有版本号的 大家安装时 请根据自己的实际情况做路径调整
cd libfastcommon-1.0.43
./make.sh && ./make.sh install
  • 1
  • 2
  • 3
4.2 安装fastdfs

同样安装fastdfs也可以通过git方式获取源码

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

也可以拷贝已下载的源码至服务器(我采用的就是拷贝的方式),然后进入到fastdfs目录 进行编绎安装

# 我这里是自己上传的包  是有版本号的 大家安装时 请根据自己的实际情况做路径调整
 cd fastdfs-6.06
 ./make.sh && ./make.sh install
  • 1
  • 2
  • 3

为了供nginx访问使用 还需要将http.conf 和mime.types文件拷贝至etc/fdfs目录下

# 我这里是自己上传的包  是有版本号的 大家做配置时 请根据自己的实际情况做路径调整
# 其实也可以同步/data/fastdfs-soft/fastdfs-6.06/conf目录下所有内容 到/etc/fdfs下,
# 否则后面则需手动cp 相应文件的sample 为配置文件 (即例 cp storage.conf.sample storage.conf)
cp /data/fastdfs-soft/fastdfs-6.06/conf/http.conf /etc/fdfs/
cp /data/fastdfs-soft/fastdfs-6.06/conf/mime.types /etc/fdfs/
  • 1
  • 2
  • 3
  • 4
  • 5
4.3 fastdfs–nginx-module安装

源码获取同样可以通过git 或者拷贝上传方式
git方式

git clone https://github.com/happyfish100/fastdfs-nginx-module.git --depth 1
  • 1

获取源码后 将其中的mod_fastdfs.conf 配置拷贝至/etc/fdfs目录下

# 我这里是自己上传的包  是有版本号的 大家做配置时 请根据自己的实际情况做路径调整 
cp /data/fastdfs-soft/fastdfs-nginx-module-1.22/src/mod_fastdfs.conf  /etc/fdfs
  • 1
  • 2
4.4 nginx安装

nginx安装包获取 可以通过wget在线下载,也可以自己手动拷贝至服务器
wget方式

wget http://nginx.org/download/nginx-1.18.0.tar.gz
  • 1

软件包获取到后进行解压 安装

#解压
tar -zxvf nginx-1.18.0.tar.gz
cd nginx-1.18.0
#添加上fastdfs-nginx-module模块的配置 (注意=号后面的路径 就是上一步4.3中的fastdfs-nginx-module的路径)
./configure --add-module=/data/fastdfs-soft/fastdfs-nginx-module-1.22/src/
# 编绎安装
make && make install
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

5、fastdfs相关部署 单机模式

5.1 域名配置 (非必须 可省略)

在 /etc/hosts 中配置i添加 例

127.0.0.1 fastdfs.com
  • 1
5.2 tracker配置
# 创建目录
mkdir -p /data/fastdfs
  • 1
  • 2

修改tracker.conf配置

# 如果tracker.conf 文件不存在,则看看是否有tracker.conf.sample,如果有 则cp tracker.conf.sample tracker.conf一份。如果tracker.conf.sample也没有 则可以去到前面fastdfs软件目录中conf目下复制一份到/etc/fdfs目录下
vim /etc/fdfs/tracker.conf

# 修改以下内容
# tracker服务器端口(默认22122 一般不用修改)
port=22122
# 存储日志和数据的根目录
base_path=/data/fastdfs 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

永久关闭防火墙

systemctl disable firewalld.service
  • 1

启动tracker服务

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

查看是否启动成功 通过下面的命令查看进程是否正常运行

ps -ef | grep tracker
  • 1
5.3 storage配置

修改storage.conf配置

# 如果storage.conf 文件不存在,则看看是否有storage.conf.sample,如果有 则cp storage.conf.sample storage.conf一份。如果storage.conf.sample也没有 则可以去到前面fastdfs软件目录中conf目下复制一份到/etc/fdfs目录下
vim /etc/fdfs/storage.conf

# 修改以下内容
# storage服务器端口(默认23000 一般不用修改)
port=23000
# 存储日志和数据的根目录
base_path=/data/fastdfs 
# storage虚拟磁盘路径,如果配了store_path0则对应的是M00,如果配置了store_path1 则是M01 以此类推
store_path0=/data/fastdfs
# tracker 服务器IP和端口 (可以是ip 也可以是域名) (如果配置的是外网ip或外网域名 则记得一定要在安全组放行)
tracker_server=fastdfs.com:22122
# http访问文件的端口(默认8888,看情况修改,和nginx中保持一致)
http.server_port=80
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

启动storage

 /usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
  • 1
5.4 client客户端测试

修改client.conf配置

vim /etc/fdfs/client.conf

#需要如下这些内容
bast_path=/data/fastdfs
# tracker服务器ip和端口  (如果配置的是外网ip或外网域名 则记得一定要在安全组放行)
tracker_server=fastdfs.com:22122
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

测试文件上传 上传后返回ID则表示上传成功 如:group1/M00/00/00/eSgtrGXp7K2ANDgsAAAADK8IOy0497.txt
然后我们也可以去数据目录下查看上传的文件,验证是否落盘成功

# 随便进一个目录 例
cd /data
# 创建一个测试文件
touch a.txt
echo 'hello world' > a.txt
#上传文件 
 /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /data/a.txt
# 删除文件
 /usr/bin/fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/eSgtrGXp7K2ANDgsAAAADK8IOy0497.txt
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

6、配置nginx访问

配置mod_fastdfs.conf

vim /etc/fdfs/mod_fastdfs.conf
#需修改的内容如下
# tracker服务器ip和端口
tracker_server=fastdfs.com:22122
url_have_group_name= true
store_path0=/data/fastdfs
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

配置nginx.conf

vim /usr/local/nginx/conf/nginx.conf
#添加如下配置 或者修改为以下配置
server {
        listen       80;  ## 该端口要和storage.conf中的http.server_port相同
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location ~/group[0-9]/ {
          ngx_fastdfs_module;
        }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

然后启动nginx

/usr/local/nginx/sbin/nginx
  • 1

通过服务ip:端口/文件的key 即可访问文件了

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/214264
推荐阅读
相关标签
  

闽ICP备14008679号