Fstdfs +nginx 安装详细步骤
一:安装依赖
1,安装所需的依赖包
联网状态下:
[root@bogon ~]# yum install make cmake gcc gcc-c++
无网络:
[root@bogon yun]# rpm -ivh gcc-c++-4.4.7-18.el6.x86_64.rpm
如果提示错误:请安装下面的三个依赖包:
安装gcc-4.4.7-18时也会依赖三个包:如下:
[root@bogon yun]# rpm -ivh gcc-4.4.7-18.el6.x86_64.rpm
安装上面是三个依赖包:
[root@bogon yun]# rpm -ivh cpp-4.4.7-18.el6.x86_64.rpm
此时并没有安装成功,而是版本冲突:需要强制安装:
[root@bogon yun]# rpm -ivh --force cpp-4.4.7-18.el6.x86_64.rpm
安装成功。
在安装:
[root@bogon yun]# rpm -ivh --force libgcc-4.4.7-18.el6.x86_64.rpm
[root@bogon yun]# rpm -ivh --force libgomp-4.4.7-18.el6.x86_64.rpm
[root@bogon yun]# rpm -ivh --force gcc-4.4.7-18.el6.x86_64.rpm
[root@bogon yun]# rpm -ivh --force libstdc++-4.4.7-18.el6.x86_64.rpm
[root@bogon yun]# rpm -ivh --force libstdc++-devel-4.4.7-18.el6.x86_64.rpm
[root@bogon yun]# rpm -ivh --force gcc-c++-4.4.7-18.el6.x86_64.rpm
到此 gcc 所需要的依赖安装完成。
2> 安装libfatscommon
1,
[root@bogon src]# tar -zxvf libfastcommon-1.0.7.tar.gz
[root@bogon src]# cd libfastcommon-1.0.7
[root@bogon libfastcommon-1.0.7]# ./make.sh
[root@bogon libfastcommon-1.0.7]# ./make.sh install
注意安装的路径:也就是说,我们的libfastcommon默认安装到了/usr/lib64/这个位置。
6.进行软链接创建。
FastDFS主程序设置的目录为/usr/local/lib/,而我们的安装目录为/usr/lib64,所以我们需要创建/
usr/lib64/下的一些核心执行程序的软连接文件。
创建目录
命令:mkdir /usr/local/lib/
[root@bogon libfastcommon-1.0.7]# ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
[root@bogon libfastcommon-1.0.7]# ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
[root@bogon libfastcommon-1.0.7]# ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
[root@bogon libfastcommon-1.0.7]# ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
命令:切换到/usr/lib64 可以用命令:ls -l 查看创建的软连接。
3> 安装FastDFS
[root@bogon src]# tar -zxvf FastDFS_v5.05.tar.gz
[root@bogon src]# cd FastDFS
[root@bogon FastDFS]# ./make.sh
[root@bogon FastDFS]# ./make.sh install
二、配置跟踪节点(192.168.118.129,192.168.1.201)
1> 复制tracker样例配置文件,并重命名
[root@bogon FastDFS]# cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
2> 修改tracker.conf配置文件
[root@bogon FastDFS]# vim /etc/fdfs/tracker.conf
3> 创建base_path指定的目录
[root@bogon FastDFS]# mkdir -p /fastdfs/tracker
4> 防火墙中打开tracker服务器端口( 默认为 22122)
添加如下端口行:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22122 -j ACCEPT
[root@bogon FastDFS]# vi /etc/sysconfig/iptables
一定要把添加的端口放到
这两行前面,不然启动防火墙不起作用。
重启防火墙:
[root@bogon FastDFS]# service iptables restart
5> 启动tracker服务器
[root@bogon FastDFS]# /etc/init.d/fdfs_trackerd start
此时报错找不到启动文件:
因为FastDFS服务脚本设置的bin目录为/usr/local/bin/下,但是实际我们安装在了/usr/bin/下面。所以我们需要修改FastDFS配置文件中的路径,也就是需要修改配置文件:
[root@bogon FastDFS]# vim /etc/init.d/fdfs_trackerd
将里面/usr/local/bin/全部改成/usr/bin/
再次启动:
[root@bogon FastDFS]# /etc/init.d/fdfs_trackerd start
检查FastDFS Tracker Server是否启动成功:
[root@bogon FastDFS]# ps -ef | grep fdfs_trackerd
6> 停止tracker服务器
[root@bogon FastDFS]# /etc/init.d/fdfs_trackerd stop
7> 设置tracker服务开机启动
[root@bogon FastDFS]# chkconfig fdfs_trackerd on
三、配置存储节点
说明:每个节点执行相同的操作
1> 复制storage样例配置文件,并重命名
[root@bogon FastDFS]# cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
2> 编辑配置文件
[root@bogon FastDFS]# vi /etc/fdfs/storage.conf
1
2
3
4
5
6
7
8
9
10
11
12
|
shell> vi /etc/fdfs/storage.conf # 修改的内容如下: disabled= false # 启用配置文件 port= 23000 # storage服务端口 group_name=group1 # 组名(第一组为group1,第二组为group2,依次类推...) base_path=/fastdfs/storage # 数据和日志文件存储根目录 store_path0=/fastdfs/storage # 第一个存储目录,第二个存储目录起名为:store_path1=xxx,其它存储目录名依次类推... store_path_count= 1 # 存储路径个数,需要和store_path个数匹配 tracker_server= 192.168 . 0.200 : 22122 # tracker服务器IP和端口 tracker_server= 192.168 . 0.201 : 22122 # tracker服务器IP和端口 http.server_port= 8888 # http访问文件的端口 |
其它参数保留默认配置, 具体配置解释可参考官方文档说明:http://bbs.chinaunix.net/thread-1941456-1-1.html
3> 创建基础数据目录
[root@bogon FastDFS]# mkdir -p /fastdfs/storage
4> 防火墙中打开storage服务器端口( 默认为 23000)
[root@bogon FastDFS]# vi /etc/sysconfig/iptables
添加如下端口行:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 23000 -j ACCEPT
重启防火墙:
[root@bogon FastDFS]# service iptables restart
5> 启动storage服务器
[root@bogon FastDFS]# /etc/init.d/fdfs_storaged start
[root@bogon FastDFS]# vim /etc/init.d/fdfs_storaged
检查FastDFS Tracker Server是否启动成功:
[root@bogon FastDFS]# ps -ef | grep fdfs_storage
各节点启动后,使用tail -f /fastdfs/storage/logs/storaged.log命令监听存储节点的日志,可以看到存储节点链接到跟踪服务器,并提示哪一个为leader跟踪服务器,同时也能看到同一组中其它节点加入进来的日志信息。
所有存储节点都启动之后,可以在任一存储节点上使用如下命令查看集群的状态信息:
命令:/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
6> 停止storage服务器
[root@bogon FastDFS]# /etc/init.d/fdfs_storaged stop
7> 设置storage服务开机启动
[root@bogon FastDFS]# chkconfig fdfs_storaged on
四、文件上传测试
1> 修改tracker服务器client.conf配置文件
[root@bogon FastDFS]# cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
[root@bogon FastDFS]# vi /etc/fdfs/client.conf
[root@bogon FastDFS]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/FastDFS_v5.05.tar.gz
此时报错了,检查了好久发现是需要从其linux服务器。
上传成功返回值:
group1/M00/00/00/wKh2gVoW4OaAaPcZAAVFOL7FJU4.tar.gz
(从返回的ID号中也可以看出,同一个文件分别存储在两个组内group1和group2,但也有可能在同一组中,具体策略是由FastDFS根据服务器的存储情况来分配的)
本次实例只安装了一个group
五、存储节点安装Nginx和fastdfs-nginx-module模块
安装Nginx
需要安装三个依赖:
下载模块依赖性Nginx需要依赖下面3个包
1.gzip 模块需要 zlib 库 ( 下载: http://www.zlib.net/ )
2.rewrite 模块需要 pcre 库 ( 下载: http://www.pcre.org/ )
3.ssl 功能需要 openssl 库 ( 下载: http://www.openssl.org/ )
依赖包安装顺序依次为:openssl、zlib、pcre, 然后安装Nginx包
openssl :
[root@bogon src]# tar zxvf openssl-fips-2.0.16.tar.gz
[root@bogon src]# cd openssl-fips-2.0.16
[root@bogon src]# ./config && make && make install
pcre:
[root@localhost] tar zxvf pcre-8.36.tar.gz
[root@localhost] cd pcre-8.36
[root@localhost] ./configure && make && make install
zlib:
[root@localhost]tar zxvf zlib-1.2.8.tar.gz
[root@localhost] cd zlib-1.2.8
[root@localhost] ./configure && make && make install
最后安装nginx
[root@localhost]tar zxvf nginx-1.8.0.tar.gz
[root@bogon src]# tar zxvf fastdfs-nginx-module_v1.16.tar.gz
[root@localhost] cd nginx-1.8.0
[root@bogon nginx-1.8.1]# ./configure --prefix=/usr/local/nginx --add-module=/usr/local/src/fastdfs-nginx-module/src
[root@bogon nginx-1.8.1]# make && install
此时报错需要添加软连接:
cd fastdfs-nginx-module/src
vi config
去掉/local
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
软连接
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
ln -s /lib64/libpcre.so.
0.0
.
1
/lib64/libpcre.so.
1
[root@bogon nginx-1.8.1]# ./configure --prefix=/usr/local/nginx --add-module=/usr/local/src/fastdfs-nginx-module/src
[root@bogon nginx-1.8.1]# make && install
3> 复制 fastdfs-nginx-module 源码中的配置文件到/etc/fdfs 目录,并修改
[root@bogon nginx-1.8.1]# cp /usr/local/src/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
[root@bogon nginx-1.8.1]# vi /etc/fdfs/mod_fastdfs.conf
4> 复制FastDFS源文件目录中HTTP相关的配置文件到/etc/fdfs目录
[root@bogon nginx-1.8.1]# cd /usr/local/src/FastDFS/conf
[root@bogon conf]# cp http.conf mime.types /etc/fdfs/
5> 创建数据存放目录的软链接
[root@bogon conf]# ln -s /fastdfs/storage/data/ /fastdfs/storage/data/M00
6> 配置fastdfs-nginx-module(Nginx简洁版样例)
[root@bogon conf]# vi /usr/local/nginx/conf/nginx.conf
注意:
A、8888 端口值要与/etc/fdfs/storage.conf 中的 http.server_port=8888 相对应,因为 http.server_port 默认为 8888,如果想改成 80,则要对应修改过来。
B、Storage 对应有多个 group 的情况下,访问路径带 group 名,如:http://xxxx/group1/M00/00/00/xxx, 对应的 Nginx 配置为:
7> 防火墙中打开Nginx的 8888 端口
[root@bogon conf]# vi /etc/sysconfig/iptables
[root@bogon conf]# service iptables restart
8> 启动Nginx
[root@bogon conf]# /usr/local/nginx/sbin/nginx
启动成功
重启 Nginx 的命令为:/usr/local/nginx/sbin/nginx -s reload
设置Nginx开机启动:
[root@bogon conf]# vi /etc/rc.local
[root@bogon conf]# chmod +x /etc/rc.local
浏览器访问测试时上传的文件">9> 通过浏览器访问测试时上传的文件
http://192.168.1.202:8888/group1/M00/00/00/wKgBh1Xtr9-AeTfWAAVFOL7FJU4.tar.gz