FastDFS单机器部署
- FastDFS单机部署
- 效果展示
- 将ngxin、fdfs_storaged与fdfs_trackerd加入到systemctl
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