# 1.需要安装 gcc(安装 C++ 编译器)
yum install gcc-c++
# 2.安装libevent(FastDFS依赖libevent库)
yum -y install libevent
# 3.安装libfastcommon (由 FastDFS 官方提供,包含了 FastDFS 运行所需要的一些基础库)
# 创建fastdfs相关文件上传文件夹
mkdir -p /home/fastdfs
# 上传文件(libfastcommonV1.0.7.tar.gz、libevent-2.0.15-stable.tar.gz 、FastDFS_v5.05.tar.gz 、FastDFS-nginx-module_v1.16.tar.gz)到目录(/home/fastdfs)下
# 将libfastcommonV1.0.7.tar.gz拷贝至/home/fastdfs/下
cd /home/fastdfs/
tar -zxvf libfastcommonV1.0.7.tar.gz
cd libfastcommon-1.0.7
./make.sh
# libfastcommon安装好后会自动将库文件拷贝至/usr/lib64下
./make.sh install
# 4.安装libevent
cd /home/fastdfs/
tar -zxvf libevent-2.0.15-stable.tar.gz
cd libevent-2.0.15-stable/
./configure
make && make install
ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib/libevent-2.0.so.5
# 5.tracker编译安装
# 将FastDFS_v5.05.tar.gz拷贝至/home/fastdfs/下
tar -zxvf FastDFS_v5.05.tar.gz
cd FastDFS
./make.sh
./make.sh install
# 安装成功后,将安装目录下的 conf 文件拷贝到/etc/fdfs/下
cp -ri conf/* /etc/fdfs
# 进入/etc/fdfs目录
cd /etc/fdfs
# 修改tracker.conf
vim tracker.conf
base_path=/home/fastdfs/fdfs
http.server_port=80
# 创建目录
mkdir -p /home/fastdfs/fdfs
# 启动
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
# 6.进入/etc/fdfs
cd /etc/fdfs
vi storage.conf
group_name=group1
base_path=/home/fastdfs/fdfs
store_path0=/home/fastdfs/fdfs/fdfs_storage
# 配置tracker服务器:IP如果有多个则配置多个tracker
tracker_server=192.168.1.88:22122
http.server_port=80
mkdir -p /home/fastdfs/fdfs/fdfs_storage
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
# 查看是否启动
ps aux|grep fdfs
# 7.FastDFS-nginx-module模块,支持通过 http 方式访问 storage 中的文件
# 安装FastDFS-nginx-module_v1.16
# 将 FastDFS-nginx-module_v1.16.tar.gz 上传到 usr/local 下
cd /usr/local
tar -zxvf fastdfs-nginx-module_v1.16.tar.gz
rm -rf fastdfs-nginx-module_v1.16.tar.gz
cd fastdfs-nginx-module/src
# 修改config文件将带有/usr/local/的路径改为/usr/
vi config
# 将FastDFS-nginx-module/src下的mod_FastDFS.conf拷贝至/etc/fdfs/下
cp mod_fastdfs.conf /etc/fdfs/
# 修改mod_fastdfs.conf
vim /etc/fdfs/mod_fastdfs.conf
base_path=/home/fastdfs/fdfs
tracker_server=192.168.1.88:22122
url_have_group_name=true
store_path0=/home/fastdfs/fdfs/fdfs_storage
# 将libfdfsclient.so拷贝至/usr/lib下
cp /usr/lib64/libfdfsclient.so /usr/lib/
# 复制 FastDFS的部分配置文件到/etc/fdfs目录,根据相对应的安装情况进入到相对应的路径
cd /home/fastdfs/FastDFS/conf/
cp http.conf mime.types /etc/fdfs/
# 8.nginx安装
# 将nginx-1.8.1.tar.gz拷贝到/usr/local下
cd /usr/local
# 解压nginx-1.8.1.tar.gz
tar -zxvf nginx-1.8.1.tar.gz
rm -rf nginx-1.8.1.tar.gz
# 安装依赖包
sudo yum -y install pcre pcre-devel zlib zlib-devel openssl openssl-devel
cd nginx-1.8.1/
# 执行配置
# prefix:指定 NGINX 的安装目录(包括配置文件、日志文件、模块等);
# sbin-path:指定 NGINX 的主程序(即 nginx 二进制文件)的路径;
# add-module:指定将 FastDFS 的 NGINX 模块 添加到 NGINX 的编译过程中;
./configure --prefix=/home/fastdfs/nginx --sbin-path=/home/fastdfs/nginx/nginx --add-module=/home/fastdfs/fastdfs-nginx-module/src
# 使用 Makefile 文件来编译和链接程序
make
# 将编译好的程序安装到系统的指定目录中
make install
cd /etc/systemd/system/
# 添加服务文件 fdfs_nginx.service
vi fdfs_nginx.service
# 启动
service fdfs_nginx start
# 停止
service fdfs_nginx stop
# 重新加载配置
service fdfs_nginx restart
# 查看是否启动
ps -ef|grep nginx
# 修改配置文件,添加上
vim /home/fastdfs/fdfs_nginx/conf/nginx.conf
# 监听域名中带有group的,交给FastDFS模块处理
location ~/group([0-9])/ {
ngx_fastdfs_module;
}
# 放行fdfs的tracker、storage端口(!!!)
firewall-cmd --zone=public --add-port=22122/tcp --permanent
firewall-cmd --zone=public --add-port=23000/tcp --permanent
# 重启防火墙服务
systemctl restart firewalld
# 查看当前允许放行的端口
firewall-cmd --list-ports
# 启动
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
nginx