Ubuntu 18.04.1 LTS下部署FastDFS 5.11+Nginx 1.14.0

参考自:https://yq.aliyun.com/articles/585175和https://www.cnblogs.com/chiangchou/p/fastdfs.html

我自己的环境和安装包,亲测可用
  1. 环境 Ubuntu 18.04.1 LTS
  2. fastdfs目录: /fastdfs
  3. 安装包:FastDFS v5.11,libfastcomon V1.0.39, Ngxin 1.14.0, fastdfs-nginx-module V1.20

文章原文:

libfastcommon-master.zip
fastdfs-nginx-module_v1.16.tar.gz
nginx-1.6.2.tar.gz
fastdfs_client_java._v1.25.tar.gz
源码地址: https://github.com/happyfish100/
下载地址: http://sourceforge.net/projects/fastdfs/files/
官方论坛: http://bbs.chinaunix.net/forum-240-1.html

一、下载安装libfastcommon

1.1、上传或下载 libfastcommon-master.zip 到/usr/local/src 目录

git clone https://github.com/happyfish100/libfastcommon.git
cd libfastcommon/
./make.sh
./make.sh install

1.2、解压

# cd /usr/local/src/
# unzip libfastcommon-master.zip
# cd libfastcommon-master

1.3、编译、安装

# ./make.sh
# ./make.sh install
libfastcommon 默认安装到了
/usr/lib64/libfastcommon.so
/usr/lib64/libfdfsclient.so

1.4、创建软链接.

# 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

二、安装 FastDFS

2.1、上传或下载 FastDFS 源码包( FastDFS_v5.05.tar.gz) 到 /usr/local/src 目录

2.2、解压

# cd /usr/local/src/
# tar -zxvf FastDFS_v5.05.tar.gz
# cd FastDFS

2.3、编译、 安装(编译前要确保已经成功安装了 libfastcommon)

# ./make.sh
# ./make.sh install

三、配置 FastDFS 跟踪器

3.1、复制 FastDFS 跟踪器样例配置文件,并重命名:

# cd /etc/fdfs/
# cp tracker.conf.sample tracker.conf

3.2、编辑跟踪器配置文件:

# vi /etc/fdfs/tracker.conf
修改的内容如下:
base_path=/fastdfs/tracker

3.3、创建基础数据目录(参考基础目录 base_path 配置) :

# mkdir -p /fastdfs/tracker

3.4、启动 Tracker:

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

四、配置 FastDFS 存储

4.1、复制 FastDFS 存储器样例配置文件,并重命名

cd /etc/fdfs/

4.2、编辑存储器样例配置文件:

# vi /etc/fdfs/storage.conf
修改的内容如下:
base_path=/fastdfs/storage
store_path0=/fastdfs/storage
tracker_server=192.168.241.140:22122

4.3、创建基础数据目录

mkdir -p /fastdfs/storage

4.4、启动 Storage:

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

4.5、检查进程

 ps -ef |grep fdfs

五、文件上传测试

5.1、修改 Tracker 服务器中的客户端配置文件:

cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
# vi /etc/fdfs/client.conf
base_path=/fastdfs/tracker
tracker_server=192.168.241.140:22122

5.2、执行如下文件上传命令

# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/FastDFS_v5.05.tar.gz
返回 ID 号: group1/M00/00/00/wKgEfVUYNYeAb7XFAAVFOL7FJU4.tar.gz
(能返回以上文件 ID, 说明文件上传成功)

六、在每个存储节点上安装 nginx

6.1、fastdfs-nginx-module 作用说明

FastDFS 通过 Tracker 服务器,将文件放在 Storage 服务器存储, 但是同组存储服务器之间需要进入
文件复制, 有同步延迟的问题。假设 Tracker 服务器将文件上传到了 192.168.4.125,上传成功后文件 ID
已经返回给客户端。此时 FastDFS 存储集群机制会将这个文件同步到同组存储 192.168.4.126,在文件还
没有复制完成的情况下,客户端如果用这个文件 ID 在 192.168.4.126 上取文件,就会出现文件无法访问的
错误。而 fastdfs-nginx-module 可以重定向文件连接到源服务器取文件,避免客户端由于复制延迟导致的
文件无法访问错误。( 解压后的 fastdfs-nginx-module 在 nginx 安装时使用)

6.2、上传 fastdfs-nginx-module_v1.16.tar.gz 到/usr/local/src

6.3、解压

# cd /usr/local/src/
# tar -zxvf fastdfs-nginx-module_v1.16.tar.gz

6.4.修改 fastdfs-nginx-module 的 config 配置文件

# cd fastdfs-nginx-module/src
# vi config
CORE_INCS="$CORE_INCS /usr/local/include/fastdfs /usr/local/include/fastcommon/"
修改为:
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
( 注意: 这个路径修改是很重要的,不然在 nginx 编译的时候会报错的)

6.5、 上传当前的稳定版本 Nginx(nginx-1.13.0.tar.gz)到/usr/local/src 目录

6.6、 编译安装 Nginx(添加 fastdfs-nginx-module 模块)

# cd /usr/local/src/
# tar -zxvf nginx-1.6.2.tar.gz
# cd nginx-1.6.2
# ./configure --add-module=/home/jnsl/git-repository/fastdfs-nginx-module/src --with-http_stub_status_module --with-http_ssl_module
# make && make install

如果出现 fastdfs-nginx-module/src/common.c:21:25: fatal error: fdfs_define.h: 没有那个文件或目录

添加链接

ln -sv /usr/include/fastcommon /usr/local/include/fastcommon 
            ln -sv /usr/include/fastdfs /usr/local/include/fastdfs 
            ln -sv /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so

如果安装nginx时提示error: the HTTP rewrite module requires the PCRE library

需要安装pcre包。

sudo apt-get update
sudo apt-get install libpcre3 libpcre3-dev
你可能还需要安装
sudo apt-get install openssl libssl-dev

如果安装nginx时提示error: he HTTP gzip module requires the zlib library.

需要安装zlib包。

到http://www.zlib.net/上下载tar包
解压之后,进入目录,执行 ./configure
之后执行 make && make install命令进行安装

6.7、复制 fastdfs-nginx-module 源码中的配置文件到/etc/fdfs 目录, 并修改

# cp /usr/local/src/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
# vi /etc/fdfs/mod_fastdfs.conf
修改以下配置:
tracker_server=192.168.241.230:22122
url_have_group_name = true
store_path0=/fastdfs/storage

6.8、复制 FastDFS 的部分配置文件到/etc/fdfs 目录

# cd /usr/local/src/FastDFS/conf  (fastdfs的源码位置)
# cp http.conf mime.types /etc/fdfs/

6.9、在/fastdfs/storage 文件存储目录下创建软连接,将其链接到实际存放数据的目录

# ln -s /fastdfs/storage/data/ /fastdfs/storage/data/M00

七、配置 Nginx

nginx配置相关目录:/usr/local/nginx/conf ,命令:vim nginx.conf

user root;
worker_processes 1;
events {
    worker_connections 1024;
}
http {
    include mime.types;
    default_type application/octet-stream;
    sendfile on;
    keepalive_timeout 65;
    server {
            listen 8888;
            server_name localhost;
            location ~/group([0-9])/M00 {
            #alias /fastdfs/storage/data;
            ngx_fastdfs_module;
        }
        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
            root html;
        }
    }
}

启动nginx

提示:nginx: [emerg] unknown directive "ngx_fastdfs_moudle" in /usr/local/nginx/conf/nginx.conf:86

如果提示:
jnsl@129-test:/usr/local/nginx/sbin$ sudo ./nginx -s reload
ngx_http_fastdfs_set pid=16537
则说明配置成功

nginx相关命令

nginx启动、重启、关闭
一、启动  


cd usr/local/nginx/sbin
./nginx
二、重启

  更改配置重启nginx  

kill -HUP 主进程号或进程号文件路径
或者使用
cd /usr/local/nginx/sbin
./nginx -s reload
    判断配置文件是否正确 

nginx -t -c /usr/local/nginx/conf/nginx.conf
或者
cd  /usr/local/nginx/sbin
./nginx -t
三、关闭

  查询nginx主进程号

  ps -ef | grep nginx

  从容停止   kill -QUIT 主进程号

  快速停止   kill -TERM 主进程号

  强制停止   kill -9 nginx

  若nginx.conf配置了pid文件路径,如果没有,则在logs目录下

  kill -信号类型 '/usr/local/nginx/logs/nginx.pid'

四、升级

  1、先用新程序替换旧程序文件

  2、kill -USR2 旧版程序的主进程号或者进程文件名

    此时旧的nginx主进程会把自己的进程文件改名为.oldbin,然后执行新版nginx,此时新旧版本同时运行

  3、kill -WINCH 旧版本主进程号

  4、不重载配置启动新/旧工作进程

    kill -HUP 旧/新版本主进程号

    从容关闭旧/新进程

    kill -QUIT 旧/新进程号

    快速关闭旧/新进程

    kill -TERM 旧/新进程号

八、访问地址

[http://192.168.223.129/group1/M00/00/00/wKjfgVuOJWaAACJGAAAeJmjn0P4425.jpg]

转载于:https://my.oschina.net/u/2484581/blog/1942124

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值