1. 环境准备
总共四台环境:
TrackerServer:10.198.1.128,同时也将作为反向代理服务器负责负载均衡
StorageServer-1:10.198.1.129
StorageServer-2:10.198.1.130
StorageServer-2:10.198.1.131
按照上一章节分别在四台环境安装FastDFS,之前出现的问题,可能是先前安装了库没成功重新安装可能报错,此时需要./make.sh clean来清理之前的安装,然后重新安装即可。
2.在StorageServer安装nginx
2.1安装依赖库
如下这些类库全部安装,这些库以及一些相关的依赖库也尽可能的安装:
pcre、pcre-devel、openssl、openssl-devel、zlib
2.2安装nginx
下载nginx安装包
wget http://nginx.org/download/nginx-1.8.1.tar.gz
下载fastdfs-nginx-module
wget https://github.com/happyfish100/fastdfs-nginx-module/archive/master.zip
fastdfs-nginx-module只能兼容FastDFSV5.11.tar.gz
复制nginx包只/usr/local目录
cp nginx-1.8.1.tar.gz /usr/local/nginx-1.8.1.tar.gz
使用如下命令解压nginx包
tar -zxvf nginx-1.8.1.tar.gz
使用如下命令解压fastdfs-nginx-module包
cp master.zip /usr/local/fastdfs-nginx-module.zipcd /usr/localunzip fastdfs-nginx-module.zip
如果unzip没有安装执行yum -y install unzip安装。
创建一个fastdfs-nginx-module目录
mv fastdfs-nginx-module-master fastdfs-nginx-module
进入nginx目录
cd /usr/local/nginx1.8.1
使用如下命令
./configure --prefix=/usr/local/nginx --add-module=/usr/local/fastdfs-nginx-module/src
看到如下提示说明配置成功
接着执行make命令
make
执行make install安装命令
make install
检查安装版本
2.3配置
2.3.1配置mod_fastdfs.conf
cp /usr/local/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs
将fastdfs-nginx-module的配置文件mod_fastdfs.conf拷贝至/etc/fdfs目录并修改参数。
一般修改如下参数:
tracker_server=10.198.1.128:22122
store_path0=你的存储路径
然后增加如下配置: [group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=你的存储路径
2.3.2配置nginx
vi /usr/local/nginx/conf/nginx.conf
配置为root用户启动
user root;
在server节点下修改监听端口
listen 8080;
在server节点下增加如下配置:
location ~/group1/M00{
root 你的存储路径(指定到data目录,存储文件目录的路径);
ngx_fastdfs_module;
}
注意:如果location 包含group目录,则mod_fastdfs_conf里的url_have_group_name = true,否则安装nginx成功后会报如下错误:
将fdfs中的http.conf和mime.types复制到/etc/fdfs
在你的fastdfs-5.11/conf/目录下复制
cp /fastdfs-5.11/http.conf /fastdfs-5.11/mime.types /etc/fdfs
2.3.3端口开放
firewall-cmd --zone=public --add-port=8080/tcp –permanentsystemctl stop firewalld.service systemctl start firewalld.service
2.3.4启动nginx
使用如下命令启动nginx
/usr/local/nginx/sbin/nginx
检查启动进程
ps -ef|grep nginx
2.3.5设置开机启动
CentOS7设置开机启动需要设置启动脚本的可执行权限,使用如下脚本
为StorageServer设置开机启动。
chmod +x /usr/bin/fdfs_storagedchmod +x /usr/local/nginx/sbin/nginxchmod +x /usr/rc.d/rc.local
vi /usr/rc.d/rc.local
增加如下启动脚本
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start/usr/local/nginx/sbin/nginx
2.4测试
3.在TrackerServer上安装nginx
3.1安装
首先参考2.1章节安装依赖库。
下载nginx安装包
wget http://nginx.org/download/nginx-1.8.1.tar.gztar -zxvf nginx-1.8.1.tar.gzcd /usr/local/nginx-1.8.1./configure --prefix=/usr/local/nginx
看到如下截屏提示表示配置成功
执行make
执行make install
3.2配置
配置nginx
vi /usr/local/nginx/conf/nginx.conf
增加如下红框里面的配置
upstream fdfs_group1{
server 10.198.1.129:8080 weight=1 max_fails=2 fail_timeout=20s;
server 10.198.1.130:8080 weight=1 max_fails=2 fail_timeout=20s;
server 10.198.1.131:8080 weight=1 max_fails=2 fail_timeout=20s;
}
location /group1/M00{
proxy_pass http://fdfs_group1;
}
启动nginx
/usr/local/nginx/sbin/nginx
查看启动日志
开放端口
firewall-cmd --zone=public --add-port=8080/tcp –permanentsystemctl stop firewalld.service systemctl start firewalld.service
设置开机启动:
CentOS7设置开机启动需要设置启动脚本的可执行权限,使用如下脚本
为StorageServer设置开机启动。
chmod +x /usr/bin/fdfs_trackerdchmod +x /usr/local/nginx/sbin/nginxchmod +x /usr/rc.d/rc.local
vi /usr/rc.d/rc.local
增加如下启动脚本
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start/usr/local/nginx/sbin/nginx
3.3测试
使用客户端新上传一张图片,然后直接访问10.198.1.128