FastDFS教程Ⅰ-文件服务器安装与Nginx配置
1.简介
2.下载FastDFS安装包
本手册使用CentOS 7.0 64位操作系统,安装文件服务器时所需下载软件包有:
- libfastcommon源代码:wget https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gz
- fastdfs-nginx-module源代码:wget http://jaist.dl.sourceforge.net/project/fastdfs/FastDFS%20Nginx%20Module%20Source%20Code/fastdfs-nginx-module_v1.16.tar.gz
- FastDFS源代码:wget https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz
- nginx服务器源代码:wgethttp://nginx.org/download/nginx-1.8.0.tar.gz
- nginx依赖的pcre库源代码:wget http://netassist.dl.sourceforge.net/project/pcre/pcre/8.36/pcre-8.36.zip
- nginx依赖的zlib库源代码:wget http://zlib.net/zlib-1.2.11.tar.gz
3.安装libfastcommon
安装libfastcommon需进行如下操作:
- 复制已经下载的软件:cp V1.0.7.tar.gz /usr/local/
- 进入复制后的目录: cd /usr/local
- 软件解压:tar -zxvf V1.0.7.tar.gz
- 软件编译: ./make.sh
- 软件安装: ./make.sh install
注意安装的路径:libfastcommon默认安装到了/usr/lib64/这个位置。
4.安装FastDFS
安装fastdfs需进行如下操作:
- 解压文件:tar -zxvf V5.05.tar.gz -C /usr/local
- 进入软件目录:cd /usr/local/fastdfs-5.05/
- 编辑配置文件:vi make.sh 将TARGET_PREFIX=$DESTDIR/usr改成TARGET_PREFIX=$DESTDIR/usr/local
- 软件编译: ./make.sh
- 软件安装: ./make.sh install
编辑make.sh时,可用vi或者vim命令打开make.sh文件,进入文件后,输入字母i表示把文件设置为可编辑模式,修改内容时,移动光标到指定内容处做修改。修改完成后,按ESC退出编辑模式,输入:wq命令,保存并退出此次编辑。
软件安装成功后,服务脚本在/etc/init.d/fdfs_storaged,/etc/init.d/fdfs_trackerd。配置文件在 /etc/fdfs/client.conf.sample,/etc/fdfs/storage.conf.sample,/etc/fdfs/tracker.conf.sample文件中。FastDFS服务脚本设置的bin目录为/usr/local/bin/下,可在这个目录下通过命令(cd /usr/local/bin && ls | grep fdfs)查看它自带的脚本。
5.进行软链接
FastDFS主程序设置的目录为/usr/local/lib/,而我们的安装目录为/usr/lib64,所以我们需要创建/usr/lib64/下的一些核心执行程序的软连接文件。
- 命令:ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
- 命令:ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
- 命令:ln -s /usr/local/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
- 命令:ln -s /usr/local/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
6.配置跟踪器tracker
配置tracker需进行如下操作:
- 进入配置目录:cd /etc/fdfs
- 复制配置文件:cp tracker.conf.sample tracker.conf
- 修改配置文件:vim /etc/fdfs/tracker.conf 修改内容为文本中的base_path,base_path=/fastdfs/tracker
- 新建文件:mkdir -p /fastdfs/tracker (这个新建目录就是与base_path对应的文件目录)
- 开放端口:22122端口。
- 设置tracker开机启动:cd /ect/init.d/ chkconfig -add fdfs_strackerd chkconfig fdfs_trackerd on (设置为开机启动)
迁移配置说明:为了后期方便做文件服务器迁移,当ip地址变化时,尽可能的减少文件中ip地址替换,应采用自定义Server ID的模式。具体操作为修改tracker.conf文件中的内容:
其中storage_ids.conf在下载的文件配置包中有(如: /usr/local/fastdfs-5.05/conf/storage_ids.conf),复制这个文件与tracker.conf同目录即可。strage_ids.conf内容如:
在其他的配置文件中,如client.conf,storage.conf,mod_fastdfs.conf这些里面的ip地址填写与strage_ids.conf中的ip地址一致既可。group设置也应和strage_ids.conf中的group_name一致。特别说明,client.conf,mod_fastdfs.conf中也有设置Server ID的模式,但是测试client.conf无效。
对于tracker.conf配置文件参数解释可以找官方文档,地址为:http://bbs.chinaunix.net/thread-1941456-1-1.html。Centos 7.0中操作firewall端口的命令为:
- 查看端口:firewall-cmd --list-ports
- 开放端口:firewall-cmd --zone=public --add-port=22122/tcp --permanent (permanent表示永久生效)
- 重启firewall:firewall-cmd --reload
tracker.conf文件配置完成后,可通过tracker的命令启动并查看是否配置成功。配置成功后在 /fastdfs/tracker/目录下面会有logs目录和data目录。
- 启动tracker命令:/etc/init.d/fdfs_trackerd start
- 查看进程命令:ps -el | grep fdfs
- 停止tracker命令:/etc/init.d/fdfs_trackerd stop
- 目录命令:cd /fastdfs/tracker/ && ll
7.配置存储器storage
配置storage需进行如下操作:
- 进入配置目录:cd /etc/fdfs
- 复制配置文件:cp tracker.conf.sample storage.conf
- 修改配置文件:vim /etc/fdfs/storage.conf 修改内容为以下定义项:
- base_path=/fastdfs/storage
- store_path0=/fastdfs/storage
- tracker_server=192.168.3.159:22122(为服务器的外面ip地址,与自定义的storage_ids.conf里面的ip保持一致)
- http.server_port=8888
- 新建文件:mkdir -p /fastdfs/storage (这个新建目录就是与base_path对应的文件目录)
- 开放端口:23000端口。
- 设置storage开机启动:cd /ect/init.d/ chkconfig -add fdfs_storaged chkconfig fdfs_storaged on (设置为开机启动)
对于storage.conf配置文件参数解释可以找官方文档,地址为:http://fredlong.iteye.com/blog/2287899。 storage.conf文件配置完成后,可通过storage的命令启动并查看是否配置成功。配置成功后在 /fastdfs/storage/目录下面会有logs目录和data目录。
- 启动storage命令:/etc/init.d/fdfs_storaged start
- 查看进程命令:ps -el | grep fdfs
- 停止storage命令:/etc/init.d/fdfs_storaged stop
- 目录命令:cd /fastdfs/storage/ && ll
8.文件服务器测试
测试文件服务器是否可用需进行如下操作:
- 进入配置文件:cd /etc/fdfs/
- 复制客户端配置文件:cp client.conf.sample client.conf
- 编辑配置文件:命令:vim /etc/fdfs/client.conf ,修改内容:base_path=/fastdfs/tracker,tracker_server=192.168.3.159:22122
- 调用上传命令上传文件:/usr/local/bin/fdfs_upload_file /etc/fdfs/client.conf /root/fastdfsdownfile/V1.0.7.tar.gz (执行上传文件命令成功时,会返回上传文件所在的位置。)
9.nginx插件安装
- 安装gcc环境包:yum groupinstall "Development Tools"
- 安装pcre:unzip -f pcre-8.36.zip , cd pcre-8.36,./configure,make && make install (分为四步执行)
- 安装zlib:tar -zxvf zlib-1.2.11.tar.gz,cd zlib-1.2.11,./configure,make && make install
安装nginx插件:
- 解压文件:tar -zxvf fastdfs-nginx-module_v1.16.tar.gz
- 修改配置文件:cd fastdfs-nginx-module/src/ vi config 修改内容为CORE_INCS="$CORE_INCS /usr/local/include/fastdfs /usr/local/include/fastcommon/" 改成CORE_INCS="$CORE_INCS /usr/local/include/fastdfs /usr/include/fastcommon/"
- 复制配置文件mod_fastdfs.conf:cp mod_fastdfs.conf /etc/fdfs
- 修改配置文件mod_fastdfs.conf:修改配置如下:
vi /etc/fdfs/mod_fastdfs.conf
group_name=group1
tracker_server=192.168.3.159:22122
store_path0=/fastdfs/storage
base_path=/fastdfs/storage
url_have_group_name = true在文件末尾添加以下信息
[group1]
group_name=group1
storage_server_port=23000store_path_count=1
文件复制:复制FastDFS里的2个文件,到/etc/fdfs目录中。cp /usr/local/fastdfs-5.05/conf/http.conf /etc/fdfs/,cp /usr/local/fastdfs-5.05/conf/mime.types /etc/fdfs/
- 创建一个软连接:在/fastdfs/storage文件存储目录下创建软连接,将其链接到实际存放数据的目录。命令:ln -s /fastdfs/storage/data/ /fastdfs/storage/data/M00
10.nginx安装及绑定
在每个Storage服务器上安装Nginx:
- 解压文件:tar -zxvf nginx-1.8.0.tar.gz
- 进入目录: cd nginx-1.8.0
- 设置配置:./configure --./configure --add-module=/usr/local/fast/fastdfs-nginx-module/src/ (add-module=/${fastdfs-nginx-module安装目录}/fastdfs-nginx-module/src)
- 编译:make
- 安装:make install
- 设置nginx配置文件:cd /usr/local/nginx/conf , vi nginx.conf
- 开放端口:8888。
- nginx.conf文件修改内容为:
listen 8888;
server_name localhost;
location ~/group([0-9])/M00 {
root /fastdfs/storage/data;
ngx_fastdfs_module;
}注意:nginx里的端口要和配置FastDFS存储中的storage.conf文件配置一致,
也就是(http.server_port=8888)
最后检查防火墙,然后启动nginx服务。启动成功后网页访问如下:
- 启动命令:/usr/local/nginx/sbin/nginx
- 重新启动命令:cd /usr/local/nginx/sbin ./nginx -s reload
上传测试文件并通过网页访问效果如下:
FastDFS教程Ⅰ-文件服务器安装与Nginx配置的更多相关文章
- FastDFS教程Ⅲ-文件服务器扩容
1.简介 FastDFS文件服务器在设计时,为了支持大容量,存储节点(服务器)采用了分卷(或分组)的组织方式.存储系统由一个或多个卷组成,卷与卷之间的文件是相互独立的,所有卷的文件容量累加就是 ...
- FastDFS教程IV-文件服务器集群搭建
1.简介 本文主要介绍FastDFS文件服务器的集群搭建,在阅读本文之前,您需具备FastDFS文件服务器单节点安装,扩容,迁移等方面的知识.同时,您还需了解Keepalived,nginx方 ...
- 使用Nginx配置服务静态文件(图片,文本,视频等)
安装Nginx 安装Nginx较为简单,请参考下方链接或自行百度. 参考链接:https://blog.csdn.net/qq_26666947/article/details/112272058 以 ...
- Nginx配置及负载均衡
转载:http://www.cnblogs.com/jingmoxukong/p/5945200.html nginx简易教程 目录 Nginx 概述 安装与使用 nginx 配置实战 参 ...
- Nginx配置加入css缓存配置后,css等文件not found
现在配置: location / { root /root/html/product; } Probably another block had definition for the static f ...
- Nginx高性能服务器安装、配置、运维 (3) —— Nginx配置详解
四.Nginx 配置详解 YUM方式安装的Nginx默认配置文件放在/etc/nginx目录下,使用Vim编辑/etc/nginx/nginx.conf: ---------------------- ...
- [php基础]PHP.INI配置:文件上传功能配置教程
昨天分享了在PHP网站开发中如何在php.ini中配置实现session功能的PHP教程,今天继续分享在利用PHP实现文件上传功能时几点关键php.ini的配置. 说到在php.ini中的文件上传的配 ...
- nginx配置反向代理详细教程(windows版)
内容属于原创,如果需要转载,还请注明地址:http://www.cnblogs.com/j-star/p/8785334.html Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(I ...
- Nginx使用教程(三):Nginx配置性能优化之I/O和TCP配置
配置Nginx I/O <br\> Sendfile 当应用程序传输文件时,内核首先缓冲数据,然后将数据发送到应用程序缓冲区. 应用程序反过来将数据发送到目的地. Sendfile方法是一 ...
随机推荐
- kettle 启动spoon一闪而过
Kettle是Pentaho的一个组件,主要用于数据库间的数据迁移(ETL). Kettle有三个主要组件:Spoon,Kitchen,Pan.其中Spoon是一个图形化的界面. 一.安装kettle ...
- 微信支付回调,XXE攻击漏洞防止方法
最近微信支付回调发现的XXE攻击漏洞(什么是XXE攻击,度娘.bing去搜,一搜一大把),收到通知后即检查代码, 微信给的解决方法是如果你使用的是: XmlDocument: XmlDocument ...
- [LOJ 6031]「雅礼集训 2017 Day1」字符串
[LOJ 6031] 「雅礼集训 2017 Day1」字符串 题意 给定一个长度为 \(n\) 的字符串 \(s\), \(m\) 对 \((l_i,r_i)\), 回答 \(q\) 个询问. 每个询 ...
- PyQt5---firstwindow
# -*- coding:utf-8 -*- ''' Created on Sep 13, 2018 @author: SaShuangYiBing ''' import sys from PyQt5 ...
- sphinx编译安装
install sphinx wget http://sphinxsearch.com/files/sphinx-2.0.8-release.tar.gz tar zxvf sphinx--relea ...
- vue2.0学习笔记之组件
[易错点]: 1. 组件内html代码片段超过一个标签时必须套一个根元素,即template模板子元素只能是一个. 2. 组件名称采用横杠间隔命名时,第一个字母大写会报错. 写法一:全局 ...
- HTML标签之marquee
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/zkn_CS_DN_2013/article/details/25229719 <html> ...
- BZOJ4766:文艺计算姬(矩阵树定理)
Description "奋战三星期,造台计算机".小W响应号召,花了三星期造了台文艺计算姬.文艺计算姬比普通计算机有更多的艺术细胞. 普通计算机能计算一个带标号完全图的生成树个数 ...
- Android MaterialDesign之水波点击效果的几种实现方法
什么是水波点击的效果? 下面是几种不同的实现方法的效果图以及实现方法 Video_2016-08-31_003846 如何实现? 方法一 使用官方提供的RippleDrawable类 优点:使用方 ...
- 【JavaScript】read_line()、print()实现输入输出
/*输入 输入的第一行为一个正整数T,表示有T组测试数据.随后的T行中,每行为一组测试数据. 每组测试数据包含由3个正整数构成,分别为N.M和a,其中1<=N, M, a <=10^9. ...