新菜,fastDFS+nginx集群安装步骤总结

################## fastDFS + nginx 集群(未整合keepalived)安装说明 ##################

# 所需安装包:
#
libfastcommon-master.zip
# FastDFS_v5.05.tar.gz
# fastdfs-nginx-module_v1.16.tar.gz
# nginx-1.10.0.tar.gz
# ngx_cache_purge-2.3.tar.gz
# 用FTP工具上传到/usr/local/software/

# 服务器分配:
# 2个tracker节点:192.168.18.120、                192.168.18.121
# 4个storage节点:192.168.18.122、192.168.18.123、192.168.18.124、192.168.18.125
# 其中tracker(192.168.18.120)对应两个storage(192.168.18.122、192.168.18.123)
#    tracker(192.168.18.121)对应两个storage(192.168.18.124、192.168.18.125)


# 1、六台节点,安装依赖:gcc、gcc-c++
yum install make cmake gcc gcc-c++


# 2、六台节点,安装公共函数库:libfastcommon-master.zip
# 创建目录
mkdir -p /usr/local/fast
# 解压
unzip /usr/local/software/libfastcommon-master.zip -d /usr/local/fast/
# 编译、安装(/前面.不能少)
cd /usr/local/fast/libfastcommon-master/
./make.sh
./make.sh install

# 添加软连接(如果有,可以删除文件后,再加软连接)
mkdir -p /usr/local/lib
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



# 3、六台节点,安装:FastDFS_v5.05.tar.gz
# 解压
tar -zxvf /usr/local/software/FastDFS_v5.05.tar.gz -C /usr/local/fast/
# 编译、安装
cd /usr/local/fast/FastDFS/
./make.sh 
./make.sh install

# 修改配置文件
vi /etc/init.d/fdfs_storaged
:%s+/usr/local/bin+/usr/bin    # 表示将全部/usr/local/bin替换成/usr/bin
:wq
vi /etc/init.d/fdfs_trackerd
:%s+/usr/local/bin+/usr/bin    # 表示将全部/usr/local/bin替换成/usr/bin
:wq


# 4、两个tracker节点,配置
cd /etc/fdfs/ && cp tracker.conf.sample tracker.conf
# 修改
vi tracker.conf   
base_path=/fastdfs/tracker    # 配置基本路径
# 创建对应目录
mkdir -p /fastdfs/tracker

# 先不启动,观察/fastdfs/tracker下包含什么
cd /fastdfs/tracker && ls -l
# 启动跟踪器
/etc/init.d/fdfs_trackerd start
# 启动后,/fastdfs/tracker下会多出两个目录:data、logs


# 5、四台storage节点,配置
cd /etc/fdfs/ && cp storage.conf.sample storage.conf
# 修改
vi /etc/fdfs/storage.conf
group_name=group1                       #122、123为group1,124、125为group2
base_path=/fastdfs/storage              #基本路径
store_path0=/fastdfs/storage            #仓库路径
tracker_server=192.168.18.120:22122     #对应之前tracker的IP地址
tracker_server=192.168.18.121:22122     #对应之前tracker的IP地址
http_server=8888                        #端口
# 创建storage.conf中base_path对应目录
mkdir -p /fastdfs/storage

# 先不启动,观察/fastdfs/storage下包含什么
cd /fastdfs/storage && ls -l
# 启动存储(前提两台tracker已经启动)
/etc/init.d/fdfs_storaged start
# 启动后,/fastdfs/storage会多出两个目录:data、logs

# 同时可在storage下观察集群信息
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf


# 6、测试FastDFS集群
cd /etc/fdfs/ && cp client.conf.sample client.conf
# 有两个tracker_server
vi client.conf
base_path=/fastdfs/tracker
tracker_server=192.168.18.120:22122    
#对应之前tracker的IP地址
tracker_server=192.168.18.121:22122    #对应之前tracker的IP地址

# 先启动两个tracker
/etc/init.d/fdfs_trackerd start
# 再启动四个storage 
/etc/init.d/fdfs_storaged start

# 先观察四个storage节点(什么都没有)
cd /fastdfs/storage/data/00/00 && ls -l
# 再去任意tracker节点上传文件,这里以/usr/local/software/FastDFS_v5.05.tar.gz为例
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/software/FastDFS_v5.05.tar.gz
# 上传完,会返回一段字符串(你的可能不一样)
# group1/M00/00/00/wKgShlq_xnaAaVV3AAVFOL7FJU4.tar.gz
# 再观察四个storage节点(多了文件:wKgShlq_xnaAaVV3AAVFOL7FJU4.tar.gz)
cd /fastdfs/storage/data/00/00 && ls -l
# 至此FastDFS集群配置ok


# 7、四个storage节点整合nginx
# 安装nginx前,检查依赖
yum install pcre
yum install pcre-devel
yum install zlib
yum install zlib-devel


# 解压fastdfs-nginx-module
tar -zxvf /usr/local/software/fastdfs-nginx-module_v1.16.tar.gz -C /usr/local/fast/
# 修改配置
vi /usr/local/fast/fastdfs-nginx-module/src/config
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"  #将CORE_INCS中local去掉

# 解压nginx
tar -zxvf /usr/local/software/nginx-1.10.0.tar.gz -C /usr/local/
# 安装
cd /usr/local/nginx-1.10.0/
# 增加add-module模块,注意路径为上面解压的路径
./configure --add-module=/usr/local/fast/fastdfs-nginx-module/src/
make && make install


# 修改配置
cp /usr/local/fast/fastdfs-nginx-module/src/mod_fastdfs.conf  /etc/fdfs
vi /etc/fdfs/mod_fastdfs.conf
connect_timeout=10                     #连接超时时间
tracker_server=192.168.18.133:22122    #跟踪服务器IP、端口
url_have_group_name=true               #URL分组
store_path0=/fastdfs/storage           #仓库路径

# 复制配置文件
cd /usr/local/fast/FastDFS/conf/ && cp http.conf mime.types /etc/fdfs/
# 添加软连接
ln -s /fastdfs/storage/data/ /fastdfs/storage/data/M00
# 修改配置
vi /usr/local/nginx/conf/nginx.conf
listen       8888;                   #36行,80改成8888 
location ~/group([0-9])/M00 {        #43行,/改成~/group([0-9])/M00
ngx_fastdfs_module;          #44行,注释其他,添加,分号一定有


# 8、测试四个storage节点nginx负载均衡
# 启动2个跟踪(192.168.18.120、192.168.18.121)
/etc/init.d/fdfs_trackerd start

# 启动4个存储(192.168.18.122、192.168.18.123、192.168.18.124、192.168.18.125)
/etc/init.d/fdfs_storaged start

# 启动4个nginx(192.168.18.122、192.168.18.123、192.168.18.124、192.168.18.125)
/usr/local/nginx/sbin/nginx

# 任意1个跟踪(192.168.18.120、192.168.18.121),上传文件,这里以/usr/local/software/1111.gif为例
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/software/1111.gif 
# 返回:group1/M00/00/00/wKgShlq___6AQ3TaAARVFp2JjcI963.gif

# 查看文件(192.168.18.122~125),必定有一组节点中存有上述文件
cd /fastdfs/storage/data/00/00 && ls -l
# 有wKgShlq___6AQ3TaAARVFp2JjcI963.gif

# 打开浏览器,防火墙要关闭(service iptables stop),
# 输入:http://192.168.18.120:8888/group1/M00/00/00/wKgShlq___6AQ3TaAARVFp2JjcI963.gif
# 可以看见之前的1111.gif
# 表示nginx负载均衡配置成功


# 9、两个tracker节点整合nginx
# 安装nginx前,检查依赖
yum install pcre
yum install pcre-devel
yum install zlib
yum install zlib-devel


# 解压ngx_cache_purge
tar -zxvf /usr/local/software/ngx_cache_purge-2.3.tar.gz -C /usr/local/fast/

# 安装nginx
tar -zxvf /usr/local/software/nginx-1.10.0.tar.gz -C /usr/local/
cd /usr/local/nginx-1.10.0/

# 增加add-module模块,注意路径为上面解压的路径
./configure --add-module=/usr/local/fast/ngx_cache_purge-2.3   
make && make install


# 修改配置
vi /usr/local/nginx/conf/nginx.conf
worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include            mime.types;
    default_type       application/octet-stream;
    sendfile           on;
    keepalive_timeout  65;

    upstream fastdfs_tracker {
server 192.168.18.120:8000 weight=1 max_fails=2 fail_timeout=30s;
server 192.168.18.121:8000 weight=1 max_fails=2 fail_timeout=30s;
    }

    server {
        listen       80;
        server_name  localhost;

        location /fastdfs {
     root html;
proxy_pass http://fastdfs_tracker/;
proxy_set_header Host $http_host;
proxy_set_header Cookie $http_cookie;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
client_max_body_size 300m;
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
access_log logs/access.log main;
    }

}
# 增加涉及的文件夹
mkdir -p /fastdfs/cache/nginx/proxy_cache/tmp


# 8、测试 fastDFS + nginx 集群配置
# 2个tracker节点,启动跟踪和nginx
/etc/init.d/fdfs_trackerd start
/usr/local/nginx/sbin/nginx


# 4个storage节点,启动存储和nginx
/etc/init.d/fdfs_storaged start
/usr/local/nginx/sbin/nginx


# 任意1个tracker节点,上传文件,这里以/usr/local/software/1111.gif 为例
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/software/1111.gif 
# 返回:group1/M00/00/00/wKgShlq___6AQ3TaAARVFp2JjcI963.gif

# 4个storage节点,查看文件,必定有一组节点中存有上述文件
cd /fastdfs/storage/data/00/00 && ls -l
# 有wKgShlq___6AQ3TaAARVFp2JjcI963.gif

# 打开浏览器,虚拟机防火墙最好关闭(service iptables stop),
# 输入:http://192.168.18.120:8888/group1/M00/00/00/wKgShlq___6AQ3TaAARVFp2JjcI963.gif
# 可以看见之前的1111.gif
# 表示 FastDFS+nginx 集群配置成功

# 新菜,若有不对,还望见谅!
# 觉得好,你就点赞、转发吧!谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值