Fastdfs与Nginx的整合

fastdfs在4.06版本以后,就不再支持自带的http服务了,如果需要使用http服务来访问文件,则可以与nginx结合部署,实现http服务。

硬件环境:

tracker:192.168.189.146

storage:192.168.189.145 (group1)

storage:192.168.189.144 (group2)

软件环境:

Tengine_2.0.3

fastdfs-nginx-module_v1.15

假设fastdfs集群已经搭建完成,现开始进行nginx的整合。

一:Fastdfs与nginx的集群整合,本试验使用Tengine代替nginx:

注意:4.0.6版本之后,fastdfs已经删除了http web的服务,因此需要与nginx整合,tracker与storage都需要配置nginx,其中storage需要结合nginx_fastdfs模块,tracker不需要,tracker上的nginx主要起代理调度作用。

1:下载tengine与nginx_fastdfs模块到/usr/local/src目录

tengine下载地址:http://tengine.taobao.org/

fastdfs-nginx-module下载地址:https://fastdfs.googlecode.com/files/fastdfs-nginx-module_v1.15.tar.gz

2:解压,安装tengine。

# cd /usr/local/src && tar -zxvf tengine-2.0.3.tar.gz&& tar -zxvf fastdfs-nginx-module_v1.15.tar.gz
编辑fastdfs-nginx-module的编译文件,修改fastdfs路径
# vi fastdfs-nginx-module/src/config 
 ngx_addon_name=ngx_http_fastdfs_module
 HTTP_MODULES="$HTTP_MODULES ngx_http_fastdfs_module"
 NGX_ADDON_SRCS="$NGX_ADDON_SRCS$ngx_addon_dir/ngx_http_fastdfs_module.c"
 CORE_INCS="$CORE_INCS /usr/local/fastdfs/include/fastdfs/usr/local/fastdfs/include/fastcommon/"
 CORE_LIBS="$CORE_LIBS -L/usr/local/fastdfs/lib -lfastcommon -lfdfsclient"
CFLAGS="$CFLAGS-D_FILE_OFFSET_BITS=64 -DFDFS_OUTPUT_CHUNK_SIZE=‘256*1024‘-DFDFS_MOD_CONF_FILENAME=‘\"/usr/local/fastdfs/conf/mod_fastdfs.conf\"‘"  

复制mod_fastdfs.conf到/usr/local/fastdfs/conf/目录下
# cp /usr/local/src/fastdfs-nginx-module/src/mod_fastdfs.conf /usr/local/fastdfs/conf
   
编译tengine
# cd tengine-2.0.3
# ./configure --prefix=/usr/local/tengine--add-module=/usr/local/src/fastdfs-nginx-module/src/    (tracker服务器无需添加此模块)
# make && makeinstall

注:与fastdfs时,nginx开启可能失败,错误信息:error while loading sharedlibraries: libfastcommon.so: cannot open shared object file: No such file ordirectory,将/usr/local/fastdfs/lib 加入系统文件/etc/ld.so.conf中即可:

# vi vim/etc/ld.so.conf
# /usr/local/fastdfs/lib
# /sbin/ldconfig -v

二:mod_fastdfs.conf与tengine的配置:

1:配置tracker的nginx:192.168.189.146

#vi/usr/local/tengine/conf/nginx.conf    (部分)
    upstream fastdfs_group1{
     server 192.168.189.145:80;
     }
   upstream fastdfs_group2{
     server 192.168.189.144:80;
   }
   server {
       listen       80;
       server_name  192.168.189.146;
  location /group1 {
       proxy_redirect off;
       proxy_set_header Host $host;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_pass http://fastdfs_group1;
       }
   location /group2 {
       proxy_redirect off;
       proxy_set_header Host $host;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_pass http://fastdfs_group2;
       }

2:配置storage group1的mod_fastdfs与nginx:192.168.189.145

配置mod_fastdfs.conf
# vi/usr/local/fastdfs/conf/mod_fastdfs.conf
 base_path=/tmp                 (日志存放路径)
 load_fdfs_parameters_from_tracker=true 
 tracker_server=192.168.189.146:22122  (指定tracker)
 group_name=group1                 (指定本机group)
 url_have_group_name = true         (允许在url中出现group名)
 store_path0=/data/fastdfs/storage       (数据路径)
配置nginx.conf
#vi/usr/local/tengine/conf/tengine   (部分)
 server {
        listen       80;
        server_name  192.168.189.145;
 
 
        location /group1/M00 {
            root /data/fastdfs/storage/data;
            ngx_fastdfs_module;
        }

3:配置storage group2的mod_fastdfs与nginx:192.168.189.144

配置mod_fastdfs.conf
# vi/usr/local/fastdfs/conf/mod_fastdfs.conf
 base_path=/tmp                 
 load_fdfs_parameters_from_tracker=true 
 tracker_server=192.168.189.146:22122  
 group_name=group2                 
 url_have_group_name = true         
 store_path0=/data/fastdfs/storage
配置nginx.conf
#vi/usr/local/tengine/conf/tengine   (部分)
 server {
        listen       80;
        server_name  192.168.189.144;
 
 
        location /group2/M00 {
            root /data/fastdfs/storage/data;
            ngx_fastdfs_module;
        }

三:启动tracker与storage的nginx:

Tracker(146):
# /usr/local/tengine/sbin/nginx -c /usr/local/tengine/conf/nginx.conf
Storagegroup1(145):
# /usr/local/tengine/sbin/nginx -c /usr/local/tengine/conf/nginx.conf
Storage group1(144):
# /usr/local/tengine/sbin/nginx -c /usr/local/tengine/conf/nginx.conf

四:测试文件上传、下载:(在146上)

1:测试上传:

2:下载文件:

从上可以看到文件上传至goup1,在本实验中即145服务器,可以直接访问145服务器或者访问146tracker服务器获得文件:

http://192.168.189.145/group1/M00/00/00/oYYBAFP7cHCAdhXQAByq1ZoT93o438.JPG

or

http://192.168.189.146/group1/M00/00/00/oYYBAFP7cHCAdhXQAByq1ZoT93o438.JPG

时间: 2024-08-12 04:47:09

Fastdfs与Nginx的整合的相关文章

FastDFS 和nginx整合

失败的经历:     从昨晚到今晚,一直在配置这FastDFS 和nginx整合这两个东西.听了黑马的讲师说一个人第一次做这个,光是搭建一个最简单的分布式文件系统至少需要1天时间.其实看来,果然没错.不过大部分时间都花在了执行错误的方法上面. 可能有人是看过了传智播客的讲师错误配置方法之后才来网上寻找答案的,没错.拜托那个错误的配置文档之后,重新开启一台虚拟机,铛!!!!!花了4个小时左右,配置成功了. 下面是效果图: 总有一个体会,每次对一件事物感到深刻是对它想吐之后才会有.这次是真的恶心到我

Fastdfs与nginx进行压缩图片比率随记

前阵子,工作搞了一下Fastdfs与nginx进行压缩图片比率存储在server中,今天应用下工作时间记录下.本打算周六,老是由于一些事情给耽搁,眼下正在搞一个XMPP消息通讯协议,眼下还是一头雾水.没有实现什么功能,在此勉励,加油好好搞搞,搞好了记录下一些登录.退出.发送.接收的一些接口给client使用. 在此先把前面自己做的那个功能在此分享下.是一个模仿淘宝的,希望大神们有什么想法能够指教: 參考:http://www.v2ex.com/t/113845 http://blog.sina.

Nginx+Tomcat整合的安装与配置(win.linux)

//原帖 http://zyjustin9.iteye.com/blog/2017394 上面是windows系统,linux直接下拉到分割线. 相信很多人都听过nginx,这个小巧的东西慢慢地在吞食apache和IIS的份额.那究竟它有什么作用呢?可能很多人未必了解. 说到反向代理,可能很多人都听说,但具体什么是反向代理,很多人估计就不清楚了.摘一段百度百科上的描述: 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务

FastDFS与Nginx的搭建及遇到的问题

1.1  FastDFS与Nginx的搭建 可以使用一台虚拟机来模拟,只有一个Tracker.一个Storage服务. 配置nginx访问图片. 1.1.1   搭建步骤 第一步:把fastDFS需要用到的压缩包都上传到linux系统. 第二步:安装FastDFS之前,先安装libevent工具包. yum -y install libevent 第三步:安装libfastcommonV1.0.7工具包. 1.下载源码: wget https://github.com/happyfish100/

SpringBoot集合Linux的FastDFS与Nginx上传图片测试错误com.github.tobato.fastdfs.exception.FdfsConnectException: 无法获取服务端连接资源:can't create connection to/192.168.1.104:22122

发布于:2019-07-03 14:59 报错 com.github.tobato.fastdfs.exception.FdfsConnectException: 无法获取服务端连接资源:can't create connection to/192.168.1.104:22122 ...... ...... ...... ...... ...... ...... ...... ...... 解决办法 依次执行以下两条命令,来关闭防火墙 iptables -L iptables -F 如果输入之后

fastDFS与nginx整合2

nginx安装  linux  在上图中的步骤中,根据下图配置nginx环境 配置软连接

centos7安装FastDFS和nginx

1.所需的安装包: 链接:https://pan.baidu.com/s/1Hm48o3aBYn0C7PyWzBGUqw 密码:kio7 2安装centos7 2.1Centos7打开网络的步骤 输入ifconfig 看本机的网络ip 输入vi /etc/sysconfig/network-scripts/ifcfg-ens33把文件里的ONBOOT=yes 输入service network start 开启网关 输入ip addr show 查找本机的外网ip地址 2.2安装xshell上传

tomcat与nginx的整合

一.安装Tomcat和jdk 1.安装jdk # tar xvf jdk1.6.0_11.tar# mv jdk1.6.0_11 /usr/local/ 配置环境变量 # vim /etc/profile 添加 JAVA_HOME=/usr/local/jdk1.6.0_11export JAVA_HOMECLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar 下面的可能更全面一些 CLASSPATH=.:$JAVA_HOME/lib

FastDFS和nginx安装

介绍 两台服务器,使用的系统为centos7.1,libfastcommon1.07,fastdfs版本为5.05稳定版 两台服务器ip分别是18和50,18作为tracker机器,50作为storage. 安装依赖 sudo yum -y groupinstall 'Development Tools' 安装libfastcommon cd libfastcommon-master ./make.sh sudo ./make.sh install 安装fastdfs cd fastdfs-5.