1.安装编译环境
yum install git gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl-devel -y
2.安装libfatscommon
git clone https://github.com/happyfish100/libfastcommon.git --depth 1
cd libfastcommon/
./make.sh && ./make.sh install
3.安装FastDFS
git clone https://github.com/happyfish100/fastdfs.git --depth 1
cd fastdfs/
./make.sh && ./make.sh install
#配置文件准备
cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf #客户端文件,测试用
cp ./conf/http.conf /etc/fdfs/ #供nginx访问使用
cp ./conf/mime.types /etc/fdfs/ #供nginx访问使用
4.安装fastdfs-nginx-module
git clone https://github.com/happyfish100/fastdfs-nginx-module.git --depth 1
cp fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs
5.安装nginx
./configure --add-module=../fastdfs-nginx-module/src --prefix=/app/tools/nginx --sbin-path=/usr/sbin/nginx
make && make install
6.tracker配置
vim /etc/fdfs/tracker.conf
#需要修改的内容如下
port=22122 # tracker服务器端口(默认22122,一般不修改)
base_path=/fastdfs/tracker # 存储日志和数据的根目录
#保存后启动
/etc/init.d/fdfs_trackerd start #启动tracker服务
chkconfig fdfs_trackerd on #自启动tracker服务
7.storage配置
vim /etc/fdfs/storage.conf
#需要修改的内容如下
port=23000 # storage服务端口(默认23000,一般不修改)
base_path=/fastdfs/storage # 数据和日志文件存储根目录
store_path0=/fastdfs/storage # 第一个存储目录
tracker_server=10.3.22.43:22122 # tracker服务器IP和端口
http.server_port=8097 # http访问文件的端口(默认8888,看情况修改,和nginx中保持一致)
#保存后启动
/etc/init.d/fdfs_storaged start #启动storage服务
chkconfig fdfs_storaged on #自启动storage服务
8.client测试
vim /etc/fdfs/client.conf
#需要修改的内容如下
base_path=/fastdfs/tracker
tracker_server=10.3.22.43:22122 #tracker IP地址
#保存后测试,返回ID表示成功 eg:group1/M00/00/00/wKgAQ1pysxmAaqhAAA76tz-dVgg.tar.gz
fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/nginx-1.12.2.tar.gz
9.配置nginx访问
vim /etc/fdfs/mod_fastdfs.conf
#需要修改的内容如下
tracker_server=10.3.22.43:22122
url_have_group_name=true
base_path=/data/fastdfs
store_path0=/fastdfs/storage
#配置nginx.config
vi /usr/local/nginx/conf/nginx.conf
#添加如下配置
server {
listen 8097; ## 该端口为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;
}
}
#启动nginx
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
#测试下载,用外部浏览器访问刚才已传过的nginx安装包,引用返回的ID
http://10.3.22.43:8097/group1/M00/00/00/wKgAQ1pysxmAaqhAAA76tz-dVgg.tar.gz
#弹出下载单机部署全部跑通,否则首先检查防火墙,再检查其他配置。
service iptables status
#若不通,可查看iptables端口是否开启,可以关闭防火墙:
#永久性生效:
#开启:
chkconfig iptables on
#关闭:
chkconfig iptables off
#即时生效,重启后失效
#开启:
service iptables start
#关闭:
service iptables stop
#测试远程服务器端口
telnet 10.3.22.43 22122
高可用参考: https://www.zhoujunwen.com/2019/fastdfs-high-available-cluster-building