一、安装fastDFS需要分别安装fastdfs-nginx-module,fastdfs,nginx,libfastcommon
百度云地址:https://pan.baidu.com/s/1FuiwcQsZALbjZhXLIMkBIQ
提取码:kmhb
1,安装gcc(编译时需要)
yum install -y gcc gcc-c++
2,安装libevent(运行时需要)
yum -y install libevent
3,安装创建目录上传所有文件
mkdir -p /fileservice/fast
cd /fileservice/fast
4,安装libfastcommon
进入fast目录:cd /fileservice/fast
解压文件: tar -zxvf libfastcommon-1.0.35.tar.gz
进入libfast文件目录:cd libfastcommon-1.0.35
执行编译:./make.sh
安装:./make.sh install
5、安装fastdfs
yum install perl
yum install pcre
yum install pcre-devel
yum install zlib
yum install zlib-devel
yum install openssl
yum install openssl-devel
5.1,安装fastdfs
进入fast目录:cd /fileservice/fast
解压文件:tar -zxvf fastdfs-5.11.tar.gz
进入解压后的目录:cd fastdfs-5.11
执行编译:./make.sh
安装:./make.sh install
5.2,查看tracker和storage的可执行脚本(后面有用)
ll /etc/init.d/ | grep fdfs
5.3,准备配置文件 默认在/etc/fdfs/下面
cd /etc/fdfs/
先把配置文件名中的sample去了。[可以复制一份]
cp client.conf.sample client.conf
cp storage.conf.sample storage.conf
cp storage_ids.conf.sample storage_ids.conf
cp tracker.conf.sample tracker.conf
然后修改tracker的存放数据和日志的目录。
mkdir -p /home/leige/fastdfs/tracker
6、配置和启动tracker
6.1,切换目录到: /etc/fdfs/ 目录下;
cd /etc/fdfs/ vim tracker.conf base_path=/home/yuqing/fastdfs 改为: base_path=/home/leige/fastdfs/tracker
6.3,启动tracker,运行如下命令:
service fdfs_trackerd start 注意:在/home/leige/fastdfs/tracker 目录下生成两个目录, 一个是数据,一个是日志;
7、配置和启动storage
由于上面已经安装过FastDFS,这里只需要配置storage就好了;
7.1,切换目录到: /etc/fdfs/ 目录下;
cd /etc/fdfs/
7.2,修改storage.conf ; vim storage.conf
group_name=group1 #配置组名
base_path=/home/yuqing/fastdfs 改为: base_path=/home/leige/fastdfs/storage
#store存放文件的位置(store_path)
store_path0=/home/yuqing/fastdfs 改为: store_path0=/home/leige/fastdfs/storage
#如果有多个挂载磁盘则定义多个store_path,如下
#store_path1=.....
#store_path2=......
#配置tracker服务器:IP
tracker_server=117.48.203.125:22122
#如果有多个则配置多个tracker
#tracker_server=117.48.203.126:22122
7.3,创建/home/leige/fastdfs/storage 目录
mkdir -p /home/leige/fastdfs/storage
7.4,启动storage, 运行命令如下:
service fdfs_storaged start 启动完成后进入 /home/leige/fastdfs/storage/data 目录下,显示目录如下:00 0A 。。。。。。
8、使用FastDFS自带工具测试
cd /etc/fdfs
8.1,修改client.conf ; vim client.conf,
修改基本路径和tracker_server如下:
base_path=/home/leige/fastdfs/storage
测试 8.3,拷贝一张图片baobao.png到Centos服务器上的 /root/目录下;
运行如下(运行测试程序,读取/etc/fdfs/client.conf 文件,上传/root/目录下的baobao.png文件)
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /root/baobao.png
成功后返回:
group1/M00/00/00/wKgAA135BdKAEOs1ADW668UZmDM218.png
9、FastDFS 和nginx整合
9.1 在tracker上安装 nginx
在每个tracker上安装nginx,的主要目的是做负载均衡及实现高可用。如果只有一台tracker可以不配置nginx。 一个tracker对应多个storage,通过nginx对storage负载均衡;
9.2 在storage 上安装nginx
tar -zxvf fastdfs-nginx-module-1.20.tar.gz 解压到当前目录
cd fastdfs-nginx-module-1.20/src
修改config文件,将文件中的所有 /usr/local/ 路径改为 /usr/
改成下面:
ngx_module_incs="/usr/include/fastdfs /usr/include/fastcommon/"
CORE_INCS="$CORE_INCS ngx_module_incs=/usr/include/fastdfs /usr/include/fastcommon/"
将fastdfs-nginx-module/src下的mod_fastdfs.conf拷贝至/etc/fdfs/下
cp mod_fastdfs.conf /etc/fdfs/ vi /etc/fdfs/mod_fastdfs.conf tracker_server=117.48.203.125:22122
url_have_group_name=true #url中包含group名称 store_path0=/home/leige/fastdfs/storage
进入之前解压的fastdfs目录下,把http.conf、mime.conf移动至/etc/fdfs
cp http.conf mime.types /etc/fdfs/
三、10, Nginx的安装
10.1,解压 nginx-1.15.2.tar.gz
cd /fileservice/fast/
tar -zxvf nginx-1.15.2.tar.gz
cd nginx-1.15.2/
10.2加入模块命令配置
./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx --add-module=/fileservice/fast/fastdfs-nginx-module-1.20/src
10.3编译安装,修改配置
make && make install
cd /opt/nginx/conf
vim nginx.conf
修改如下:
server下面的 server_name修改为主机名,或者localhost
location ~/group([0-9]){
#这个地方修改非常重要
ngx_fastdfs_module;
}
启动nginx
cd /usr/bin/ ./nginx #启动
之前上传的图片就可以通过浏览器访问了,如:
以上图中的文件地址:http://117.48.203.125/group1/M00/00/00/wKgAA135BdKAEOs1ADW668UZmDM218.png 对应storage服务器上的/home/leige/fastdfs/storage/data/00/00/wKgAA135BdKAEOs1ADW668UZmDM218.png文件;
11 因为Centos系统有防火墙,需要先关闭掉,才可以在浏览器中访问;
(1)CentOS 7.0默认使用的是firewall作为防火墙;若没有启用iptables 作为防火墙,则使用以下方式关闭防火墙:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
(2)若已经启用iptables作为防火墙,则使用以下方式关闭:
service iptables stop #临时关闭防火墙
chkconfig iptables off #永久关闭防火墙