配置Mogilefs中使用Nginx做反代查询

配置Mogilefs中使用Nginx做反代查询:
Nginx做MogileFS的前端程序,我们需要重新编译nginx,下载nginx-mogilefs-module模块即可。
1,介绍
在没有做nginx mogilefs之前的URL:
http://192.168.125.200:7500/dev1/0/000/000/0000000011.fid
如果正常nginx访问:
http://192.168.125.211/images/linux.jpg
反代流程:
1、客户端向服务器端发送请求,Nginx接收请求;
2、Nginx通过反向代理挑选后端任意一台Trackers服务器响应请求;
3、Trackers接收请求后再向后端数据库获取数据存储的位置;
4、Trackers接收到数据库响应回来的数据位置后再响应给Nginx;
5、Nginx接收到Trackers响应回来的数据位置后再到Storage服务器上获取实际的存储数据;
6、Storage存储服务器将文件内容通过http协议返回给Nginx;
7、Nginx将结果返回给应用层客户端。
2,安装

wget http://www.grid.net.ru/nginx/download/nginx_mogilefs_module-1.0.4.tar.gz
wget http://nginx.org/download/nginx-1.4.7.tar.gz
[root@localhost ~]# yum -y install pcre-devel
[root@localhost ~]# tar xf nginx-1.4.7.tar.gz
[root@localhost ~]# unzip nginx-mogilefs-module-master
[root@localhost ~]# cd nginx-1.4.7
[root@localhost ~]#./configure \
  --prefix=/usr \
  --sbin-path=/usr/sbin/nginx \
  --conf-path=/etc/nginx/nginx.conf \
  --error-log-path=/var/log/nginx/error.log \
  --http-log-path=/var/log/nginx/access.log \
  --pid-path=/var/run/nginx/nginx.pid  \
  --lock-path=/var/lock/nginx.lock \
  --user=nginx \
  --group=nginx \
  --with-http_ssl_module \
  --with-http_flv_module \
  --with-http_stub_status_module \
  --with-http_gzip_static_module \
  --http-client-body-temp-path=/var/tmp/nginx/client/ \
  --http-proxy-temp-path=/var/tmp/nginx/proxy/ \
  --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \
  --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \
  --http-scgi-temp-path=/var/tmp/nginx/scgi \
  --with-pcre \
  --with-debug \
  --add-module=  ##指定模块解压的路径
# make && make install    
wget http://www.grid.net.ru/nginx/download/nginx_mogilefs_module-1.0.4.tar.gz
wget http://nginx.org/download/nginx-1.4.7.tar.gz
[root@localhost ~]# yum -y install pcre-devel
[root@localhost ~]# tar xf nginx-1.4.7.tar.gz
[root@localhost ~]# unzip nginx-mogilefs-module-master
[root@localhost ~]# cd nginx-1.4.7
[root@localhost ~]#./configure \
  --prefix=/usr \
  --sbin-path=/usr/sbin/nginx \
  --conf-path=/etc/nginx/nginx.conf \
  --error-log-path=/var/log/nginx/error.log \
  --http-log-path=/var/log/nginx/access.log \
  --pid-path=/var/run/nginx/nginx.pid  \
  --lock-path=/var/lock/nginx.lock \
  --user=nginx \
  --group=nginx \
  --with-http_ssl_module \
  --with-http_flv_module \
  --with-http_stub_status_module \
  --with-http_gzip_static_module \
  --http-client-body-temp-path=/var/tmp/nginx/client/ \
  --http-proxy-temp-path=/var/tmp/nginx/proxy/ \
  --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \
  --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \
  --http-scgi-temp-path=/var/tmp/nginx/scgi \
  --with-pcre \
  --with-debug \
  --add-module=  ##指定模块解压的路径
# make && make install

3,配置

[root@manager ~]# cat /etc/nginx/nginx.conf
#user  nobody;
worker_processes  1;
#pid        logs/nginx.pid;
events {
    worker_connections  1024;
}
http {
    include      mime.types;
    default_type  application/octet-stream;
    keepalive_timeout  65;
##定义upstream server调度器集群,实现负载均衡功能。
upstream trackers { 
server 192.168.125.200:7001 weight=1;
server 192.168.125.201:7001 weight=1;
    server 192.168.125.202:7001 weight=1;
check interval=1000 rise=2 fall=5 timeout=1000;  #状态检测
}
    server {
        listen      80;
        server_name  localhost;
        location / {
            root  html;
            index  index.html index.htm;
        }
##定义domain,如果mogilefs有多个domain,那么就定义多个mogilefs
location /images/ {
        mogilefs_tracker trackers;
        mogilefs_domain imgs;
        mogilefs_methods get;
mogilefs_noverify on;

        mogilefs_pass {
        proxy_pass $mogilefs_path;
        proxy_hide_header Content-Type;
        proxy_buffering off;
        }
        expires 1h;
        }
##开启status功能:
location /status {
check_status;
}
        # redirect server error pages to the static page /50x.html
        #
        error_page  500 502 503 504  /50x.html;
        location = /50x.html {
            root  html;
        }
    }
}

4,添加服务脚本;

此处略去。

5,服务重启,进行验证。

你可能感兴趣的:(配置Mogilefs中使用Nginx做反代查询)