fdfs安装与搭建

自己也是在网上学习的,然后整理了一下,凑合看吧。。。。。。自己也留个底

安装好虚拟机后,在/usr/include下进行安装

首先查看防火墙状态,
service  iptables status


查看剩余磁盘空间命令

df -lh

查看端口占用

netstat -tln

sudo netstat -tlnp|grep 4200

kill -9 
安装gcc-c++

以上fastdfs源码都是纯C语言编写的,因此需要下载gcc-c++编译器对源码进行编译

sudo yum install gcc-c++

首先安装libfastcommon,得到libfastcommon-1.0.35.tar.gz后解压、编译、安装:

[plain] view plain copy
  1. # tar xvf libfastcommon-1.0.35.tar.gz   
  2. # cd libfastcommon-1.0.35  
  3. # ./make.sh  
  4. # ./make.sh install  
libfastcommon之前的版本安装好后的库文件,32位系统安装在/usr/lib中,64位系统安装在/usr/lib64下。由于FastDFS程序引用usr/lib目录,所以需要将/usr/lib64下的库文件拷贝至/usr/lib下。但是1.0.35这个版本我看了一下,在/usr/lib和/usr/lib64下都有libfastcommon.so文件存在,不用再手动复制了,如果没有,那就复制一下。

接着安装FastDFS,得到FastDFS_v5.09.tar.gz后解压:

[plain] view plain copy
  1. #tar xvf FastDFS_v5.09.tar.gz  

[html] view plain copy
  1. #./make.sh   
确认make没有错误后,执行安装,默认会安装到/usr/bin中,并在/etc/fdfs中添加三个配置文件。

[html] view plain copy
  1. # ./make.sh install  
安装成功后,可执行文件在/usr/bin/目录下,以fdfs_为前缀,配置文件在/etc/fdfs/目录下,当然,安装源文件的conf目录中也有几个其他的配置文件。


Openresty Nginx Lua安装和配置

3.1 Openresty Nginx Lua安装

在/usr/include目录,下载并解压fastdfs-nginx-module,执行命令:


unzip fastdfs-nginx-module-master.zip

在/usr/include目录,下载并解压openresty nginx lua,执行命令:

tar -zxvf ngx_openresty-1.7.10.1.tar.gz

3.1.1 安装ngx_openresty

安装编译环境

sudo yum install pcre-devel openssl openssl-devel

安装ngx_openresty,在ngx_openresty目录,执行

sudo ./configure --with-luajit --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --add-module=/usr/include/fastdfs-nginx-module-master/src

sudo gmake

sudo gmake install


执行时会报错

去/usr/include/fastdfs-nginx-module-master/src/common.c:把包含     support_multi_range    删了


创建nginx使用的目录

sudo mkdir /data/ngx
sudo chown -R root:root /data

创建mod_fastdfs.conf文件

sudo cp /usr/include/fastdfs-nginx-module-master/src/mod_fastdfs.conf /etc/fdfs/

修改mod_fastdfs.conf文件
分别咋storage1和storage2机器执行
sudo touch /data/ngx/mod_nginx.log
sudo chown –R root:root /data

61机器为group1的storage1服务器,修改/etc/fdfs/mod_fastdfs.conf文件(未列出内容无需修改),修改的内容如下:

base_path=/data/ngx

tracker_server=192.168.1.36:22122

group_name=group1

store_path0=/data/fdfs

url_have_group_name = true

log_filename=/data/ngx/mod_nginx.log
group_count = 1

[group1]

group_name=group1

storage_server_port=23000

store_path_count=1

store_path0=/data/fdfs

67服务器为group1的storage2服务器,修改/etc/fdfs/mod_fastdfs.conf(未列出内容无需修改),修改的内容如下:

base_path=/data/ngx

tracker_server=192.168.1.36:22122
group_name=group1

store_path0=/data/fdfs

url_have_group_name = true

log_filename=/data/ngx/mod_nginx.log

group_count = 1

[group1]

group_name=group1

storage_server_port=23000

store_path_count=1

store_path0=/data/fdfs
3.2.2 添加http.conf和mine.types文件

分别在61和67服务器复制http.conf和mime.types到/etc/fdfs目录

cd /usr/include/fastdfs-5.08/conf

sudo cp http.conf mime.types /etc/fdfs/

3.2.3 配置nginx.conf文件
在storage1服务器上,修改group1的nginx的/usr/local/openresty/nginx/conf/nginx.conf

#user nobody;

user fastdfs;

worker_processes 1;

error_log /data/ngx/error.log;

events {

    worker_connections 1024;

}

http {

include mime.types;

default_type application/octet-stream;

log_format main '$remote_addr - $remote_user [$time_local] "$request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for"';

access_log /data/ngx/access.log main;

sendfile on;

#tcp_nopush on;

#keepalive_timeout 0;

keepalive_timeout 65;

#gzip on;

server {

listen 80;

server_name localhost;

charset utf8;

location /group1/M00 {

    alias /data/fdfs/data;

    ngx_fastdfs_module;

    }

  }

}

在67服务器上,修改nginx.conf,因为group2的nginx.conf文件内容只有如下内容和group1的nginx.conf内容不一致,其他按照group1的nginx.conf配置修改:

location /group2/M00 {

    alias /data/fdfs/data;

    ngx_fastdfs_module;

}

3.2.4 启动或者重载入nginx配置文件

启动nginx命令:

sudo /usr/local/openresty/nginx/sbin/nginx

重新载入nginx配置:

sudo /usr/local/openresty/nginx/sbin/nginx -s reload

阅读更多
文章标签: fdfs nginx
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭