安装系统和安装包

系统系统 centos6.8

三台服务器:192.168.1.2/3/4

安装包:

fastdfs-5.05.tar.gz

fastdfs-nginx-module.zip

libfastcommon-1.0.7.tar.gz

nginx-1.10.1.tar.gz

服务器规划:

tracker服务器:192.168.1.2

storage服务器:192.168.1.3/4

安装fastdfs(所有服务器)

安装依赖软件

yum -y install gcc gcc-c++ libstdc++-devel pcre-devel zlib-devel wget make

yum -y groupinstall 'Development Tools'

安装FastDFS必须先安装libfastcommon类库,否则会导致报错

tar -xvzf libfastcommon-1.0.7.tar.gz -C /usr/local

cd /usr/local/libfastcommon-1.0.7

./make.sh

./make.sh install

安装FastDFS

tar -xvzf fastdfs-5.05.tar.gz -C /usr/local

cd /usr/local/fastdfs-5.05

./make.sh

./make.sh install

FastDFS安装好之后,在/usr/bin目录下,可以看fdfs开头的命令工具,所有配置文件在/etc/fdfs目录下

创建存储日志和数据的根目录

mkdir /data/fastdfs

安装服务tracker(192.168.1.2)

将tracker.conf.sample文件重命名为tracker.conf,然后修改配置文/etc/fdfs/tracker.conf

cd /etc/fdfs

cp tracker.conf.sample tracker.conf

只需要找到你只需要该这两个参数修改就可以了base_pash路径(文件存储路径)和http端口号http.server_port

vi tracker.conf

base_path=/data/fastdfs

http.server_port=9090

修改完成保存并退出 vim

当然前提是你要有或先创建了/data/fastdfs目录。port=22122这个端口参数不建议修改,除非你已经占用它了。

这时候我们可以使用/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start来启动 Tracker服务,但是这个命令不够优雅,使用ln -s 建立软链接:

ln -s /usr/bin/fdfs_trackerd /usr/local/bin

ln -s /usr/bin/stop.sh /usr/local/bin

ln -s /usr/bin/restart.sh /usr/local/bin

配置文件中有这几个参数需要注意:

#启用配置文件

disabled=false

#设置tracker的端口号

port=22122

#设置tracker的数据文件和日志目录(需手动创建)

base_path=/data/fastdfs

#设置http端口号

http.server_port=9090

 

启动服务:service fdfs_trackerd start

查看监听:netstat -unltp | grep fdfs

看到22122端口正常被监听后,这时候就算 Tracker服务安装成功啦

 

安装服务storage(192.168.3/4)

创建数据存放目录

mkdir /data/fastdfs0

将storage.conf.sample文件重命名为storage.conf,然后修改配置文/etc/fdfs/ storage.conf

cd /etc/fdfs

cp storage.conf.sample storage.conf

storage主要完成base_path,store_path以及tracker的连接地址以及storage的http服务端口配置等。

vi /etc/fdfs/storage.conf

group_name=group1                         # 组名(第一组为group1,第二组为group2,依次类推...)在192.168.1.4服务器上group_name=group2

base_path=/data/fastdfs                   #数据和日志文件存储根目录

store_path0=/data/fastdfs0                #第一个存储目录,第二个存储目录起名为:store_path1=xxx,其它存储目录名依次类推...

store_path_count=1                  # 存储路径个数,需要和store_path个数匹配

tracker_server=192.168.1.2:22122          # tracker服务器IP和端口

修改完成保存并退出 vim

前提是你要有或先创建了/data/fastdfs0存放数据的目录。storaged的port=23000这个端口参数不建议修改,除非你已经占用它了。

这时候我们可以使用/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start来启动 Tracker服务,但是这个命令不够优雅,使用ln -s 建立软链接:

ln -s /usr/bin/fdfs_storaged /usr/local/bin

ln -s /usr/bin/stop.sh /usr/local/bin

ln -s /usr/bin/restart.sh /usr/local/bin

 

启动服务:service fdfs_ storaged start

查看监听:netstat -unltp | grep fdfs

 

看到23000端口正常被监听后,Storage服务安装成功

可以在任一存储节点上使用如下命令查看集群的状态信息

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

出现ip_addr = Active, 则表明storage服务器已经登记到tracker服务器

 

storage服务器上安装nginx

注意:fastdfs-nginx-module模块只需要安装到storage上

解压安装包

unzip fastdfs-nginx-module.zip -d /usr/local

tar -zvxf nginx-1.10.1.tar.gz  -C /usr/local

需要先配置软链接:

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

ln -sv /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so

ln -sv /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so

ln -sv /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so

安装nginx的时候,添加 fastdfs-nginx-module-master模块

cd /usr/local/nginx-1.10.1

./configure --prefix=/usr/local/nginx --add-module=/usr/local/fastdfs-nginx-module/src

configure 成功结尾输出结果:

nginx http access log file: "/usr/local/nginx/logs/access.log"

nginx http client request body temporary files: "client_body_temp"

nginx http proxy temporary files: "proxy_temp"

nginx http fastcgi temporary files: "fastcgi_temp"

nginx http uwsgi temporary files: "uwsgi_temp"

nginx http scgi temporary files: "scgi_temp"

 

接下来执行make和make install

make

确定编译没有出错,再进行install

make install

安装成功,查看版本信息

/usr/local/nginx/sbin/nginx –V

 

进入fastdfs-nginx-module的src目录,将md_fastdfs.conf配置文件拷贝到/etc/fdfs/目录中

cp /usr/local/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/

配置 mod_fastdfs.conf

vim /etc/fdfs/mod_fastdfs.conf

一般只需改动以下参数:

base_path=/data/fastdfs           #保存日志目录

tracker_server=192.168.1.2:22122

storage_server_port=23000     #storage服务器的端口号

group_name=group1             #当前服务器的group名,服务器1.4的group名group2

url_have_group_name = true    #文件url中是否有group名

store_path_count=1            #存储路径个数,需要和store_path个数匹配

store_path0=/root/fastdfs     #存储路径

group_count = 2               #设置组的个数

在末尾增加2个组的具体信息:

[group1]

group_name=group1

storage_server_port=23000

store_path_count=1

store_path0=/data/fastdfs0

[group2]

group_name=group2

storage_server_port=23000

store_path_count=1

store_path0=/data/fastdfs0

建立M00至存储目录的符号连接

ln -s /data/fastdfs0/data /data/fastdfs0/data/M00

ll /data/fastdfs0/data/M00

 

配置nginx

编辑/usr/local/nginx/conf配置文件目录下的nginx.conf,设置添加storage信息并保存

vim /usr/local/nginx/conf/nginx.conf

将server段中的listen端口号改为80,启动用户使用root(在开头第一行改为user root)

在server段中添加:

location ~/group[1-2]/M00 {

    root /data/fastdfs0/data;

    ngx_fastdfs_module;

}

复制fastdfs中的http.conf、mime.types文件到/etc/fdfs

cp /usr/local/fastdfs-5.05/conf/http.conf /usr/local/fastdfs-5.05/conf/mime.types  /etc/fdfs

至此nginx以及FastDFS插件模块设置完成

运行nginx之前,先要把防火墙中对应的端口打开(本例中为80和storage服务端口23000)

iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 23000 -j ACCEPT

/etc/init.d/iptables save

启动nginx

/usr/local/nginx/sbin/nginx

查看监听

netstat -unltp | grep nginx

查看日志

cat /usr/local/nginx/logs/error.log

在error.log中没有错误,既启动成功。可以打开浏览器,直接访问http://192.168.1.3/4:80,查看是否弹出nginx欢迎页面, 说明nginx运行成功。

将nginx设置为开机启动:

vim /etc/rc.d/rc.local

添加:/usr/local/nginx/sbin/nginx &

赋值权限:chmod 755 /etc/rc.local

tracker服务器上安装nginx

解压安装包

tar -zvxf nginx-1.10.1.tar.gz  -C /usr/local

运行./configure进行安装前的设置,主要设置安装路径

cd /usr/local/nginx-1.10.1

./configure --prefix=/usr/local/nginx

运行make进行编译,确保编译成功。

make

运行make install进行安装。

make install

编辑/usr/local/nginx/conf配置文件目录下的nginx.conf,设置负载均衡

将server段中的listen端口号改为80,启动用户使用root(在开头第一行改为user root)

vim /usr/local/nginx/conf/nginx.conf

worker_processes  2;                  #根据CPU核心数而定

events {

    worker_connections  65535;        #最大链接数

    use epoll;                        #新版本的Linux可使用epoll加快处理性能

}

http {

    #设置group1的服务器

    upstream fdfs_group1 {

        server 192.168.1.3:80 weight=1 max_fails=2 fail_timeout=30s;

    }

    #设置group2的服务器

    upstream fdfs_group2 {

        server 192.168.1.4:80 weight=1 max_fails=2 fail_timeout=30s;

    }

 

   server {

       #设置服务器端口

        listen       80;

       #设置group1的负载均衡参数

        location /group1/M00 {

            proxy_pass http://fdfs_group1;

        }

        #设置group2的负载均衡参数

        location /group2/M00 {

            proxy_pass http://fdfs_group2;

        }

      }

 

    }

至此,nginx设置完成。

运行nginx之前,先要把防火墙中对应的端口打开(本例中为80和tracker服务端口22122以及tracker的http端口9090)

iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 9090 -j ACCEPT

iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 22122 -j ACCEPT

/etc/init.d/iptables save

启动nginx

/usr/local/nginx/sbin/nginx

查看监听

netstat -unltp | grep nginx

查看日志

cat /usr/local/nginx/logs/error.log

在error.log中没有错误,既启动成功。可以打开浏览器,直接访问http://192.168.1.2:80,查看是否弹出nginx欢迎页面, 说明nginx运行成功。

将nginx设置为开机启动:

vim /etc/rc.d/rc.local

添加:/usr/local/nginx/sbin/nginx &

赋值权限:chmod 755 /etc/rc.local

 

配置client.conf文件

cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf

 

vim /etc/fdfs/client.conf

base_path=/data/fastdfs                   #日志存放路径

tracker_server=192.168.1.2:22122

http.tracker_server_port=9090

修改完成保存并退出 vim

fdfs_upload_file /etc/fdfs/client.conf /data/test.jpg

group2/M00/00/00/wKgBBF6n-bGAJMM-AABt9WLqiVA197.jpg

 

使用浏览器访问

http://192.168.1.2:80/group2/M00/00/00/wKgBBF6n-bGAJMM-AABt9WLqiVA197.jpg

看到图片证明搭建成功

 

 

参考:

https://www.cnblogs.com/mafly/p/fastdfs_conf.html

http://www.ityouknow.com/fastdfs/2017/10/10/cluster-building-fastdfs.html

https://www.it610.com/article/5172703.htm

_crawler
原创文章 51获赞 6访问量 1万+
关注私信
展开阅读全文