blueice 发表于 2019-2-1 06:06:03

FastDFS配置Nginx模块

  #
  #fastdfs-nginx-module:下载地址
  #Nginx1.10.1 下载地址
  #ngx-cache-purge:下载地址
  #nginx 缓存:详细介绍
  #nginx 官方模块详解:http://nginx.org/en/docs/
  

  #nginx 安装(Tracker节点)
  #Nginx缓存和反向代理
  #下载软件
# wget -c https://nginx.org/download/nginx-1.10.1.tar.gz
# wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz  #解压ngx_cache_purge
# tar -xf ngx_cache_purge-2.3.tar.gz  #编译安装nginx
  #安装依赖包(EPEL源)

# cd nginx-1.10.1/
# yum install -y pcre pcre-devel openssl-devel openssl gcc-c++
# ./configure --prefix=/usr/local/nginx --add-module=/root/ngx_cache_purge-2.3 --with-http_stub_status_module --with-http_ssl_module
# make && make install  

  #修改配置文件
# cat /usr/local/nginx/conf/nginx.conf | grep -v "#" | grep -v "^$"
user root;
worker_processes1;
events {
    worker_connections1024;
}
http {
    include       mime.types;
    default_typeapplication/octet-stream;
    sendfile      on;
    tcp_nopush   on;
    keepalive_timeout65;
    proxy_cache_path /usr/local/nginx/proxy_cache_path levels=1:2 keys_zone=cache_one:500m inactive=1d max_size=10g;
    proxy_temp_path /usr/local/nginx/proxy_tmp_path;
    gzip on;
    gzip_min_length 1k;
    gzip_buffers 4 16k;
    gzip_types       text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php;
    gzip_vary on;
    upstream fdfs {
server 192.168.174.137:80 max_fails=3 fail_timeout=30s weight=1;
server 192.168.174.138:80 max_fails=3 fail_timeout=30s weight=1;
}
    server {
      listen       80;
      server_namelocalhost;
      location / {
            root   html;
            indexindex.html index.htm;
      }
location /group1/M00 {
proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
proxy_pass http://fdfs;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 300;
proxy_send_timeout 300;
proxy_read_timeout 600;
proxy_max_temp_file_size 10m;
proxy_busy_buffers_size 256k;
proxy_buffer_size 256k;
proxy_buffers 4 256k;
proxy_cache_valid 200 304 12h ;
      proxy_cache_valid 301 302 1m ;
   proxy_cache_valid any 1m;
proxy_cache cache_one;
proxy_cache_key $host$uri$is_args$args;
}
location ~ /purge(/.*) {
      allow 127.0.0.1 ;
      allow 192.168.174.0/24 ;
      deny all ;
      proxy_cache_purge cache_one $host$1$is_args$args ;
      }
      error_page   500 502 503 504/50x.html;
      location = /50x.html {
            root   html;
      }
    }
}  

  #测试配置文件是否正确
# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful  

  #创建缓存目录
# mkdir -p /usr/local/nginx/proxy_temp_path
# mkdir -p /usr/local/nginx/proxy_cache_path  #启动服务
# /usr/local/nginx/sbin/nginx
# netstat -lntup | grep 80
tcp      0      0 0.0.0.0:80            0.0.0.0:*               LISTEN      8787/nginx: master  

  

  

  

  #nginx 安装(两台Storage节点)
#下载软件
# wget -c https://nginx.org/download/nginx-1.10.1.tar.gz
# wget https://github.com/happyfish100/fastdfs-nginx-module/archive/master.zip
# tar -xf nginx-1.10.1.tar.gz
# unzip master.zip
# yum install -y pcre pcre-devel openssl-devel openssl gcc-c++
# ./configure --prefix=/usr/local/nginx --add-module=/root/fastdfs-nginx-module-master/src --with-http_stub_status_module --with-http_ssl_module
# make && make install
# cp /root/fastdfs-nginx-module-master/src/mod_fastdfs.conf /etc/fdfs/
# cp /root/fastdfs-master/conf/http.conf /etc/fdfs/
# cp /root/fastdfs-master/conf/mime.types/etc/fdfs/
# mkdir /data/fdfs/Storage/data/group1
# ln -s /data/fdfs/Storage/data/ /data/fdfs/Storage/data/group1/M00
# vim /etc/fdfs/mod_fastdfs.conf  #修改如下值
tracker_server=192.168.174.136:22122 #第40行
url_have_group_name = true    #第53行
store_path0=/data/fdfs/Storage/   #第60行
log_filename=/usr/local/nginx/logs/mod_fastdfs.log   #第78行  

  #在server 字段内部增加如下location
# vim /usr/local/nginx/conf/nginx.conf      location /group1/M00 {
      root /data/fdfs/Storage/data;
         ngx_fastdfs_module;
      }  

  #测试配置文件

# /usr/local/nginx/sbin/nginx -t
ngx_http_fastdfs_set pid=5336
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful  

  #启动服务
  #storage_1
# /usr/local/nginx/sbin/nginx
ngx_http_fastdfs_set pid=5337
#storage_2
# /usr/local/nginx/sbin/nginx
ngx_http_fastdfs_set pid=6263  

  

# curl -I 192.168.174.138
HTTP/1.1 200 OK
Server: nginx/1.10.1
Date: Wed, 19 Apr 2017 22:34:44 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Wed, 19 Apr 2017 22:06:36 GMT
Connection: keep-alive
ETag: "58f7df6c-264"
Accept-Ranges: bytes  

  #若服务不能正常运行,将/usr/local/nginx/conf/nginx.conf 中第一行 user nobody 修改为 user root
  

# curl -I 192.168.174.137
HTTP/1.1 200 OK
Server: nginx/1.10.1
Date: Wed, 19 Apr 2017 13:35:50 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Wed, 19 Apr 2017 13:03:25 GMT
Connection: keep-alive
ETag: "58f7601d-264"
Accept-Ranges: bytes  

  

  #上传文件
# echo "hello" > test.txt
# fdfs_upload_file/etc/fdfs/client.conftest.txt
group1/M00/00/00/wKiuiVj3aM-AbzDqAAAABncc3SA048.txt  

  #Storage_1节点
https://s4.运维网.com/wyfs02/M00/91/AD/wKioL1j3aU2hXJWtAAArfwsWmSw594.png
  

  #Storage_2节点
https://s4.运维网.com/wyfs02/M00/91/AE/wKiom1j3aU2D6OxzAAAhprPv8cY589.png
  #stracker节点
https://s5.运维网.com/wyfs02/M00/91/AF/wKiom1j3a3fifXn5AAAkOYM2WGM661.png
  

  

  #进入缓存目录
# pwd
/usr/local/nginx/proxy_cache_path/a/3b(目录可能不一样)
# ls
adc71d260066e8ae813898b1901e33ba  

  

  

  




页: [1]
查看完整版本: FastDFS配置Nginx模块