centos7 FastDFS一键自动安装脚本

FastDFS 一键自动安装脚本

1. 简介

该脚本是一个用于在离线环境下一键自动安装 FastDFS 的 Bash 脚本。它包含了安装 FastDFS 的所有步骤,包括安装依赖、安装 libfastcommon、安装 tracker、配置和启动 tracker、配置和启动 storage,以及将 FastDFS 配置为系统服务并设置为开机自启动。

2. 脚本功能

  • 安装所需的依赖包。
  • 解压并安装 libfastcommon。
  • 解压并安装 FastDFS。
  • 配置和启动 tracker。
  • 配置和启动 storage。
  • 将脚本复制到 /etc/init.d/ 目录下,并添加执行权限。
  • 创建 systemd 单元文件,设置 FastDFS 服务的启动、停止和重启命令。
  • 添加 FastDFS 服务为系统服务,并设置开机自启动。

3. 使用说明

准备工作

  • 确保脚本运行在具有足够权限的用户下。
  • 下载并准备好 FastDFS 的安装包,并将其放置在指定的路径下。
  • 安装包下载
    https://www.alipan.com/s/WS5LX6jctyq

执行脚本

  • 执行脚本:./fastdfs_install.sh

4. 注意事项

  • 在执行脚本之前,请确保已经准备好了 FastDFS 的安装包,并放置在正确的路径下。
  • 确保脚本运行时具有足够的权限来执行系统级的操作。
  • 在脚本运行期间,请留意是否有任何错误信息输出,确保每个步骤都成功执行。

5.下载

见文章资源绑定

6.代码解释

#!/bin/bash
set -e

# Tracker 服务器 IP 地址

tracker_server_ip="192.168.0.106"

# FastDFS 安装目录

fastdfs_home="/dhxdata/fastdfs"
DEPENDENCY_DIR="/usr/local/autoinstall/third-lib/"
PACKAGE_DIR="/usr/local/autoinstall/lib/"
SCRIPT_NAME="fastdfs_startup.sh"
SERVICE_NAME="fastdfs_startup.service"
SERVICE_DIR="/etc/systemd/system/"

echo "安装依赖..."
yum localinstall -y "$DEPENDENCY_DIR/gcc"/*.rpm
yum localinstall -y "$DEPENDENCY_DIR/gcc-c++"/*.rpm
yum localinstall -y "$DEPENDENCY_DIR/perl"/*.rpm

# 安装 libfastcommon

cd "$PACKAGE_DIR" || { echo "无法进入目录 $PACKAGE_DIR"; exit 1; }
if [[ ! -f "libfastcommon-1.0.7.tar.gz" ]]; then
    echo "没有找到 libfastcommon 安装包"
    exit 1
fi

tar -zxvf libfastcommon-1.0.7.tar.gz || { echo "解压 libfastcommon 安装包失败"; exit 1; }
cd libfastcommon-1.0.7/ || { echo "无法进入目录 libfastcommon-1.0.7"; exit 1; }
./make.sh && ./make.sh install || { echo "编译安装 libfastcommon 失败"; exit 1; }
cp /usr/lib64/libfastcommon.so /usr/lib

# 安装 tracker

cd "$PACKAGE_DIR" || { echo "无法进入目录 $PACKAGE_DIR"; exit 1; }
if [[ ! -f "fastdfs-5.05.tar.gz" ]]; then
    echo "没有找到 FastDFS 安装包"
    exit 1
fi

tar -zxvf fastdfs-5.05.tar.gz || { echo "解压 FastDFS 安装包失败"; exit 1; }
cd fastdfs-5.05/ || { echo "无法进入目录 fastdfs-5.05"; exit 1; }
./make.sh && ./make.sh install || { echo "编译安装 FastDFS 失败"; exit 1; }
cp conf/* /etc/fdfs/

# 配置和启动 tracker

cd /etc/fdfs/ || { echo "无法进入目录 /etc/fdfs/"; exit 1; }
sed -i "s#base_path *= */home/yuqing/fastdfs#base_path = ${fastdfs_home}#g" tracker.conf
sed -i "s#http.server_port *= *8080#http.server_port = 80#g" tracker.conf
mkdir -p "$fastdfs_home" || { echo "创建目录 $fastdfs_home 失败"; exit 1; }
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart || { echo "启动 tracker 失败"; exit 1; }

# 配置和启动 storage

cd /etc/fdfs/ || { echo "无法进入目录 /etc/fdfs/"; exit 1; }
sed -i "s#base_path *= */home/yuqing/fastdfs#base_path = ${fastdfs_home}#g" storage.conf
sed -i "s#store_path0 *= */home/yuqing/fastdfs#store_path0 = ${fastdfs_home}_storage#g" storage.conf
sed -i "s#tracker_server *= *192.168.209.121:22122#tracker_server = ${tracker_server_ip}:22122#g" storage.conf
sed -i "s#http.server_port *= *8888#http.server_port = 88#g" storage.conf
mkdir -p "${fastdfs_home}_storage" || { echo "创建目录 ${fastdfs_home}_storage 失败"; exit 1; }
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart || { echo "启动 storage 失败"; exit 1; }

# 复制脚本到 /etc/init.d/

sudo cp "$PACKAGE_DIR/$SCRIPT_NAME" /etc/init.d/ || { echo "复制脚本到 /etc/init.d/ 失败"; exit 1; }

# 添加执行权限

sudo chmod +x "/etc/init.d/${SCRIPT_NAME}" || { echo "添加执行权限失败"; exit 1; }


# 创建 systemd 单元文件

cat <<EOF | sudo tee "${SERVICE_DIR}${SERVICE_NAME}" >/dev/null
[Unit]
Description=FastDFS Startup Service
After=network.target

[Service]
Type=oneshot
ExecStart=/etc/init.d/${SCRIPT_NAME} start
ExecStop=/etc/init.d/${SCRIPT_NAME} stop
ExecReload=/etc/init.d/${SCRIPT_NAME} restart
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target
EOF

# 添加脚本为系统服务并设置开机自启动

sudo systemctl daemon-reload || { echo "重新加载 systemd 失败"; exit 1; }
sudo systemctl enable "${SERVICE_NAME}" || { echo "设置开机自启动失败"; exit 1; }
sudo systemctl start "${SERVICE_NAME}" || { echo "启动服务失败"; exit 1; }

# 完成提示信息

echo "FastDFS已成功配置为系统服务并设置为开机自启动。"
  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

刀鋒偏冷

支持一发成植,一步修复发际

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

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

打赏作者

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

抵扣说明:

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

余额充值