Centos7安装FastDFS整合nginx

一、准备环境

  1、离线安装包准备:

   将相关的安装包上传到 /usr/local 目录,安装包下载

        

       并解压到当前目录

       

  2、安装 gcc

yum install -y gcc gcc-c++

       

  3、安装 perl

yum install -y perl libevent

       

二、安装软件

  1、安装 libfastcommon,由于libfastcommon 没有 yum 源,通过上传的安装包进行编译与安装

cd /usr/local/libfastcommon-1.0.7/

./make.sh && ./make.sh install

       

       libfastcommon 安装好后会在 /usr/lib64 目录下生成  libfastcommon.so 库文件

      

       由于 FastDFS 程序引用 usr/lib 目录所以需要将 /usr/lib64 下的库文件拷贝至 /usr/lib 下

 cp /usr/lib64/libfastcommon.so /usr/lib

  2、安装 tracker

cd /usr/local/fastdfs-5.05/

./make.sh && ./make.sh install

      

     安装成功将安装目录下的 conf 下的文件拷贝到 /etc/fdfs/ 下

cp conf/* /etc/fdfs/

      

  3、配置和启动 tracker

       切换到 /etc/fdfs 目录下

cd /etc/fdfs
修改 tracker.conf
vi tracker.conf
base_path = /home/fastdfs
http.server_port = 80

  创建 /home/fastdfs 目录

mkdir -p /home/fastdfs

       启动 tracker

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart

      PS:启动成功后,在 /home/fastdfs/ 目录下生成两个目录, 一个是数据,一个是日志

     

  4、配置和启动 storage

  切换到 /etc/fdfs 目录下

cd /etc/fdfs

  修改 tracker.conf

vi storage.conf
base_path = /home/fastdfs
store_path0 = /home/fdfs_storage
tracker_server = x.x.x.x:22122 (根据实际情况改)
http.server_port = 88

  创建 /home/fdfs_storage 目录

mkdir -p /home/fdfs_storage

  启动 storage

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart

  PS:启动成功后,在 /home/fdfs_storage/data 目录下生成以下显示目录

      

  5、测试FastDFS上传文件

  切换到 /etc/fdfs 目录下

cd /etc/fdfs

  修改 client.conf

vi client.conf

base_path = /home/fastdfs
tracker_server = x.x.x.x:22122 (根据实际情况改)

  拷贝一张图片 test.jpg 到Centos服务器上的 /tmp 目录下

      

  进行上传测试

/usr/bin/fdfs_test /etc/fdfs/client.conf upload /tmp/test.jpg  

       

       PS:由于现在还没有和nginx整合无法使用http下载

  6 FastDFS 和Nginx整合

      切换到 /usr/local/fastdfs-nginx-module/src 目录下

cd /usr/local/fastdfs-nginx-module/src/

  修改config文件

vi config

       将文件中的所有 /usr/local/ 路径改为 /usr/

       复制当前目录下的 mod_fastdfs.conf 文件到 /etc/fdfs/ 目录下

cp mod_fastdfs.conf /etc/fdfs/

       切换到 /etc/fdfs 目录,修改 mod_fastdfs.conf 文件

vi mod_fastdfs.conf

base_path=/home/fastdfs
tracker_server=x.x.x.x:22122(根据实际情况改)
url_have_group_name=true #url中包含group名称
store_path0=/home/fdfs_storage #指定文件存储路径(上面配置的store路径)

  将 /usr/lib64 目录下的 libfdfsclient.so 文件拷贝至 /usr/lib 目录下

cp /usr/lib64/libfdfsclient.so /usr/lib

       7 Nginx 的安装

  安装nginx的依赖库:

yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel

  创建 /var/temp/nginx/client 目录

mkdir -p /var/temp/nginx/client

  切换到 nginx 解压的目录

cd /usr/local/nginx-1.8.0/

  执行以下配置命令:

./configure 
--prefix=/usr/local/nginx 
--pid-path=/var/run/nginx/nginx.pid 
--lock-path=/var/lock/nginx.lock 
--error-log-path=/var/log/nginx/error.log 
--http-log-path=/var/log/nginx/access.log 
--with-http_gzip_static_module 
--http-client-body-temp-path=/var/temp/nginx/client 
--http-proxy-temp-path=/var/temp/nginx/proxy 
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi 
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi 
--http-scgi-temp-path=/var/temp/nginx/scgi 
--add-module=/usr/local/fastdfs-nginx-module/src

        

  编译并安装

make && make install

  PS:安装成功后查看生成的目录

  创建 /usr/local/nginx/logs 目录

mkdir /usr/local/nginx/logs

  切换到 /usr/local/nginx/conf/ 目录

cd /usr/local/nginx/conf/

  修改 nginx.conf 文件

vi nginx.conf

       

       

  切换到  /usr/local/nginx/sbin/ 目录

cd /usr/local/nginx/sbin/

       启动 nginx

./nginx

       

  查看 nginx 进程

       

  放通防火墙80(nginx)、22122(tracker)、23000(storage)端口

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=22122/tcp --permanent
firewall-cmd --zone=public --add-port=23000/tcp --permanent
firewall-cmd --reload

  这时已经可以通过浏览器访问刚刚测试上传的图片 test.jpg!

        

  8 FastDFS 和 Nginx 开机自启配置

  编辑 /etc/rc.d/rc.local 文件,增加启动项

vi /etc/rc.d/rc.local

# fastdfs start
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart

# nginx start
/usr/local/nginx/sbin/nginx

  给rc.local 文件增加可执行的权限

chmod +x /etc/rc.d/rc.local
原文地址:https://www.cnblogs.com/aqicheng/p/14133790.html