采用服务器192.168.14.132和192.168.14.133,以下操作均需在两台服务器进行
1.安装前需已安装好gcc、pcre 、zlib 、openssl,有网环境执行以下命令:
yum install -y pcre pcre-devel zlib zlib-devel openssl openssl-devel
离线安装请参考点击查看
2.安装libfastcomman
tar -zxvf V1.0.7.tar.gz
cd /libfastcommon-1.0.7
./make.sh
./make.sh install
3.创建软连接
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
4.安装FastDFS
cd fastdfs
./make.sh
./make.sh install
5.安装好后可在/etc/fdfs/查看到以下文件:
client.conf.sample storage.conf.sample tracker.conf.sample
6.配置路径
mkdir /opt/fastdfs
mkdir /opt/fastdfs/fastdfs_storage
mkdir /opt/fastdfs/fastdfs_storage_data
mkdir /opt/fastdfs/fastdfs_tracker
7.复制配置文件
cd /etc/fdfs/
cp client.conf.sample client.conf
cp storage.conf.sample storage.conf
cp tracker.conf.sample tracker.conf
8.修改/etc/fdfs/tracker.conf
base_path=/opt/fastdfs/fastdfs_tracker
#如果需要从源文件保存的storage下载文件请修改以下配置并重启
download_server=1
9.启动tracker
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
可用netstat -unltp|grep fdfs检测是否启动成功
10.编辑/etc/fdfs/storage.conf
group_name=group1 #组名,根据实际情况修改
base_path=/opt/fastdfs/fastdfs_storage #设置storage数据文件和日志目录
store_path0=/opt/fastdfs/fastdfs_storage_data #实际文件存储路径
store_path_count=1 存储路径个数,需要和store_path个数匹配
tracker_server=192.168.4.132:22122 #tarcker_server 服务地址
tracker_server=192.168.4.133:22122 #tarcker_server 服务地址
http.server_port=80 #设置http 端口号 这里需与nginx中的端口号一致
11.启动storage
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
12.编辑/etc/fdfs/client.conf
base_path=/opt/fastdfs/fastdfs_tracker #tracker服务器文件路径
tracker_server=192.168.14.132:22122
tracker_server=192.168.14.133:22122
13.检测是否启动成功
netstat -unltp|grep fdfs
出现下图则表示启动成功:
查看运行状态:
fdfs_monitor /etc/fdfs/client.conf
#以下为状态说明
#FDFS_STORAGE_STATUS:INIT :初始化,尚未得到同步已有数据的源服务器
#FDFS_STORAGE_STATUS:WAIT_SYNC :等待同步,已得到同步已有数据的源服务器
#FDFS_STORAGE_STATUS:SYNCING :同步中
#FDFS_STORAGE_STATUS:DELETED :已删除,该服务器从本组中摘除
#FDFS_STORAGE_STATUS:OFFLINE :离线
#FDFS_STORAGE_STATUS:ONLINE :在线,尚不能提供服务
#FDFS_STORAGE_STATUS:ACTIVE :在线,可以提供服务
14.测试,首先在192.168.4.131服务器/home路径下放一张图片1.png,执行
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /home/1.png
出现下图说明配置成功
15.安装fastdfs-nginx-module
tar -zxvf fastdfs-nginx-module_v1.16.tar.gz
cd fastdfs-nginx-module/src/
vi config
将里面的/usr/local/全部替换为/usr/
16.切换至cd /usr/local/nginx-1.12.2/(若已安装过nginx则往下走,未安装请参考linux下安装Nginx,解压Nginx后执行以下语句)
./configure --prefix=/usr/local/nginx-1.12.2/ --add-module=../fastdfs-nginx-module/src/
make
make install
再执行以下代码,查看是否报错
/usr/local/nginx-1.12.2/sbin/nginx -V
17.拷贝mod_fastdfs.conf文件至/etc/fdfs/
cd fastdfs-nginx-module/src/
cp mod_fastdfs.conf /etc/fdfs/
18.编辑/etc/fdfs/mod_fastdfs.conf
connect_timeout=10
tracker_server=192.168.31.32:22122 //修改为 Tracker 服务的地址和端口
tracker_server=192.168.31.33:22122
storage_server_port=23000 //默认就是2300,不用做修改
url_have_group_name=true //允许通过 http 服务访问
store_path0=/opt/fastdfs/fastdfs_storage_data
//路径一定是服务器中建立的存储数据的路径,不是 storage 服务的路径
group_name=group1
group_count=0 //只有一个 group 就填0,否则按实际的 group 数量来填写
19.将 /usr/local/FastDFS/conf/目录下的http.conf和mime.types两个文件复制到/etc/fdfs/目录下
cd /usr/local/FastDFS/conf/
cp http.conf mime.types /etc/fdfs/
20.建立软链接
ln -s /opt/fastdfs/fastdfs_storage_data/data/ /opt/fastdfs/fastdfs_storage_data/data/M00
21.编辑 /usr/local/nginx-1.12.2/conf/nginx.conf
#在server节点前增加
upstream fdfs_group1 {
server 192.168.14.132:22122 ;
server 192.168.14.133:22122 ;
}
#在server节点中增加
location /group1/M00 {
root /opt/fastdfs/fastdfs_storage_data/;
proxy_pass http://fdfs_group1;
ngx_fastdfs_module;
}
22.启动Nginx
mkdir /opt/fastdfs/fastdfs_storage_data/data/group1
cd /usr/local/nginx-1.12.2/sbin/
./nginx -s reload
#若以上语句未能成功启动nginx,则指定配置文件启动
/usr/local/nginx-1.12.2/sbin/nginx -c /usr/local/nginx-1.12.2/conf/nginx.conf
23.测试,可用第14步的方法分别在192.168.14.132以及192.168.14.133各自上传一张不同的图,可用http://其中一台服务器IP/group1/M00/00/00/wKgOhWC-ssKALIw9AACjDXcNxJQ810_big.png(后面这串参考14步生成的路径)都可查看到那2张图片,图片会自动同步
24.fastDFS和Nginx开机自启,编辑/etc/rc.d/rc.local,在底部加入:
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
#nginx自启
/usr/local/nginx-1.12.2/sbin/nginx
保存退出后,chmod +x /etc/rc.d/rc.local
本文参考了很多FastDFS+Nginx双机热备环境搭建笔记_congratution的专栏-CSDN博客_fastdfs双机集群,感谢原作者