FastDFS单机器部署

FastDFS单机部署

环境介绍

Ubuntu :22.04.2 LTS
Nginx:1.20.2

由于是单机部署,所以tracker与storage都在同一个节点

所需文件

在这里插入图片描述

安装所需编译环境

apt -y install gcc make g++ libtool-bin libexpat1-dev build-essential
apt install libpcre3 libpcre3-dev zlib1g zlib1g-dev openssl libssl-dev -y
apt install libxml2-dev libcurl4-openssl-dev -y
apt install pkg-config -y
apt install pkgconf -y

创建数据存储目录

mkdir -p /fastdfs/tracker /fastdfs/storage

解压安装包

unzip fastdfs-master.zip
unzip fastdfs-nginx-module-master.zip
unzip libfastcommon-master.zip
unzip libserverframe-master.zip
tar -zxf nginx-1.20.2.tar.gz

编译安装libfastcommon-master

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

编译安装libserverframe-master

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

编译安装fastdfs-master

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

相关目录位置

启动fdfs_storaged和fdfs_trackerd位置

这个目录位置在解压的fastdfs-master.zip安装包下的fastdfs-master/init.d

配置文件目录

cd /etc/fdfs

FastDFS工具目录

cd /usr/bin
ll | grep fdfs

配置tracker服务器

修改tracker配置文件

vim /etc/fdfs/tracker.conf
disabled = false
bind_addr =
port = 22122
base_path = /fastdfs/tracker

修改Tracker服务器客户端配置文件

vim /etc/fdfs/client.conf
 base_path = /fastdfs/tracker
 tracker_server = 192.168.31.135:22122 #IP地址为tracker服务器IP地址

配置storage服务器

修改storage配置文件

vim /etc/fdfs/storage.conf
disabled = false
bind_addr =
port = 23000
base_path = /fastdfs/storage
store_path0 = /fastdfs/storage
tracker_server = 192.168.31.135:22122 #IP地址为tracker服务器的IP地址
http.server_port = 8888

修改fastdfs-nginx-module-master的配置文件

该文件处于解压fastdfs-nginx-module-master.zip的目录下的fastdfs-nginx-module-master/src/config

vim config
CORE_INCS="$CORE_INCS /usr/local/include"
修改为
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon"

编译安装Nginx

./configure --add-module=/soft/tar-fastdfs/fastdfs-nginx-module-master/src && make && make install

配置Nginx

vim /usr/local/nginx/conf/nginx.conf
server {
        listen       8888;
        server_name  localhost;
        location ~/group([0-9])/M00 {
                ngx_fastdfs_module;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
}

复制 fastdfs-nginx-module 源码中的配置文件到/etc/fdfs 目录,并修改

cp mod_fastdfs.conf /etc/fdfs
vim /etc/fdfs/mod_fastdfs.conf
connect_timeout=10
base_path=/tmp #store log files
tracker_server=192.168.31.135:22122 #IP地址为tracker的IP地址
storage_server_port=23000
group_name=group1
url_have_group_name = true
store_path0=/fastdfs/storage

复制fastdfs-master/conf下的部分配置到/etc/fdfs

cp http.conf mime.types /etc/fdfs/

效果展示

启动nginx、fdfs_storaged与fdfs_trackerd

cd /usr/local/nginx/sbin
./nginx


cd 你的目录/fastdfs-master/init.d
./fdfs_trackerd start
./fdfs_storaged start

执行文件上传

/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /root/test.png

上传成功返回的值

group1/M00/00/00/wKgfh2Rne1SAemm4AAAo1nnwNH0293.png

通过URL访问

http://192.168.31.135:8888/group1/M00/00/00/wKgfh2Rne1SAemm4AAAo1nnwNH0293.png

注意

访问URL不要使用https,否则会无法访问成功

将ngxin、fdfs_storaged与fdfs_trackerd加入到systemctl

注意目录为你实际的目录

vim /usr/lib/systemd/system/nginx.service
[Unit]
Description=The nginx HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target
vim /root/fdfs.sh
#!/bin/bash

# 检查参数是否正确
if [[ "$1" != "start" && "$1" != "stop" ]]; then
    echo "Usage: $0 [start|stop]"
    exit 1
fi

if [ "$1" == "start" ]; then
        sudo /soft/tar-fastdfs/fastdfs-master/init.d/fdfs_storaged start
        sudo /soft/tar-fastdfs/fastdfs-master/init.d/fdfs_trackerd start
elif [ "$1" == "stop" ]; then
        sudo /soft/tar-fastdfs/fastdfs-master/init.d/fdfs_storaged stop
        sudo /soft/tar-fastdfs/fastdfs-master/init.d/fdfs_trackerd stop
fi
vim /etc/systemd/system/fdfs.service
[Unit]
Description=FastDFS
[Service]
WorkingDirectory=/root
ExecStart=/root/fdfs.sh start
ExecStop=/root/fdfs.sh stop
Type=simple
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

想看一次满天星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值