zoukankan      html  css  js  c++  java
  • 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

    http://192.168.1.202:8888/group1/M00/00/00/wKgBh1Xtr9-AeTfWAAVFOL7FJU4.tar.gz

  • 相关阅读:
    ubuntu18.04LTS服务器用vituralenv安装和配置pytorch和tensorflow
    ubuntu18.04安装Anaconda
    XeLaTeX下如何以原大小显示PNG
    JS黑魔法之this, setTimeout/setInterval, arguments
    sicily 1198. Substring (递归全排列+排序)
    sicily 1046. Plane Spotting(排序求topN)
    sicily 1051. Biker's Trip Odomete
    sicily 1176. Two Ends (Top-down 动态规划+记忆化搜索 v.s. Bottom-up 动态规划)
    sicily 1035. DNA matching
    关于组织自定义皮肤/主题的一点思考
  • 原文地址:https://www.cnblogs.com/lkzp123456/p/7884069.html
Copyright © 2011-2022 走看看