zoukankan      html  css  js  c++  java
  • Fast DFS(二)

    使用fastdfs-nginx做一个桥梁

    文件下载
    文件链接
    提取码:ael6

    解压该文件,并进去到解压好的文件里面的src

    [root@rzk fastDFS]# tar -zxvf fastdfs-nginx-module_v1.16.tar.gz 
    fastdfs-nginx-module/
    fastdfs-nginx-module/src/
    fastdfs-nginx-module/src/ngx_http_fastdfs_module.c
    fastdfs-nginx-module/src/mod_fastdfs.conf
    fastdfs-nginx-module/src/config
    fastdfs-nginx-module/src/common.h
    fastdfs-nginx-module/src/common.c
    fastdfs-nginx-module/INSTALL
    fastdfs-nginx-module/HISTORY
    [root@rzk fastDFS]# ls
    fastdfs-5.05         fastdfs-nginx-module               libfastcommon-1.0.7
    fastdfs-5.05.tar.gz  fastdfs-nginx-module_v1.16.tar.gz  libfastcommon-1.0.7.tar.gz
    [root@rzk fastDFS]# cd fastdfs-nginx-module
    [root@rzk fastdfs-nginx-module]# ls
    HISTORY  INSTALL  src
    [root@rzk fastdfs-nginx-module]# cd src/
    [root@rzk src]# ls
    common.c  common.h  config  mod_fastdfs.conf  ngx_http_fastdfs_module.c
    [root@rzk src]# 
    

    编辑config文件

    需要删除地址有包含local的路径
    修改前

    修改后

    解压安装Nginx

    进入解压的文件

    [root@rzk tar]# ls
    fastDFS  fastdfs.txt  nginx-1.12.0.tar.gz
    [root@rzk tar]# tar -zxvf nginx-1.12.0.tar.gz
    [root@rzk tar]# ls
    fastDFS  fastdfs.txt  nginx-1.12.0  nginx-1.12.0.tar.gz
    [root@rzk tar]# cd nginx-1.12.0
    [root@rzk nginx-1.12.0]# ls
    auto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  man  README  src
    
    

    需要执行一下代码

    最后一行是寻找中间桥梁

    ./configure 
    --prefix=/usr/local/nginx 
    --pid-path=/var/run/nginx/nginx.pid 
    --lock-path=/var/lock/nginx.lock 
    --error-log-path=/var/log/nginx/error.log 
    --http-log-path=/var/log/nginx/access.log 
    --with-http_gzip_static_module 
    --http-client-body-temp-path=/var/temp/nginx/client 
    --http-proxy-temp-path=/var/temp/nginx/proxy 
    --http-fastcgi-temp-path=/var/temp/nginx/fastcgi 
    --http-uwsgi-temp-path=/var/temp/nginx/uwsgi 
    --http-scgi-temp-path=/var/temp/nginx/scgi 
    --add-module=/home/tar/fastDFS/fastdfs-nginx-module/src
    

    这里需要和fastdfs-nginx-module里的src中间桥梁路径要一致

    在nginx目录下复制执行

    [root@rzk tar]# cd nginx-1.12.0
    [root@rzk nginx-1.12.0]# ./configure 
    > --prefix=/usr/local/nginx 
    > --pid-path=/var/run/nginx/nginx.pid 
    > --lock-path=/var/lock/nginx.lock 
    > --error-log-path=/var/log/nginx/error.log 
    > --http-log-path=/var/log/nginx/access.log 
    > --with-http_gzip_static_module 
    > --http-client-body-temp-path=/var/temp/nginx/client 
    > --http-proxy-temp-path=/var/temp/nginx/proxy 
    > --http-fastcgi-temp-path=/var/temp/nginx/fastcgi 
    > --http-uwsgi-temp-path=/var/temp/nginx/uwsgi 
    > --http-scgi-temp-path=/var/temp/nginx/scgi 
    > --add-module=/home/tar/fastDFS/fastdfs-nginx-module/src
    

    编译

    [root@rzk nginx-1.12.0]# make
    

    安装

    [root@rzk nginx-1.12.0]# make install
    [root@rzk nginx-1.12.0]# cd /usr/local/
    [root@rzk local]# ls
    aegis  bin  cloudmonitor  etc  games  include  lib  lib64  libexec  nginx  sbin  share  src  tomcat
    [root@rzk local]# cd nginx
    [root@rzk nginx]# ll
    total 36
    drwx------ 2 nobody root 4096 Aug  3  2020 client_body_temp
    drwxr-xr-x 2 root   root 4096 Aug  3  2020 conf
    drwx------ 2 nobody root 4096 Aug  3  2020 fastcgi_temp
    drwxr-xr-x 2 root   root 4096 Aug  3  2020 html
    drwxr-xr-x 2 root   root 4096 Aug  3  2020 logs
    drwx------ 2 nobody root 4096 Aug  3  2020 proxy_temp
    drwxr-xr-x 2 root   root 4096 Feb  3 00:04 sbin
    drwx------ 2 nobody root 4096 Aug  3  2020 scgi_temp
    drwx------ 2 nobody root 4096 Aug  3  2020 uwsgi_temp
    [root@rzk nginx]# 
    
    

    进入fastds-nginx-module 拷贝文件到 /etc/fdfs/

    [root@rzk local]# cd nginx
    [root@rzk nginx]# ll
    total 36
    drwx------ 2 nobody root 4096 Aug  3  2020 client_body_temp
    drwxr-xr-x 2 root   root 4096 Aug  3  2020 conf
    drwx------ 2 nobody root 4096 Aug  3  2020 fastcgi_temp
    drwxr-xr-x 2 root   root 4096 Aug  3  2020 html
    drwxr-xr-x 2 root   root 4096 Aug  3  2020 logs
    drwx------ 2 nobody root 4096 Aug  3  2020 proxy_temp
    drwxr-xr-x 2 root   root 4096 Feb  3 00:04 sbin
    drwx------ 2 nobody root 4096 Aug  3  2020 scgi_temp
    drwx------ 2 nobody root 4096 Aug  3  2020 uwsgi_temp
    [root@rzk nginx]# cd /home/tar/fastDFS/
    [root@rzk fastDFS]# ll
    total 436
    drwxrwxr-x 10 root root   4096 Feb  2 11:23 fastdfs-5.05
    -rw-r--r--  1 root root 336001 Feb  2 10:26 fastdfs-5.05.tar.gz
    drwxrwxr-x  3  500  500   4096 May  4  2014 fastdfs-nginx-module
    -rw-r--r--  1 root root  17510 Feb  2 10:26 fastdfs-nginx-module_v1.16.tar.gz
    drwxrwxr-x  3 root root   4096 Feb  2 10:47 libfastcommon-1.0.7
    -rw-r--r--  1 root root  73148 Feb  2 10:26 libfastcommon-1.0.7.tar.gz
    [root@rzk fastDFS]# cd fastdfs-nginx-module
    [root@rzk fastdfs-nginx-module]# ll
    total 12
    -rw-rw-r-- 1 500 500 2342 May  4  2014 HISTORY
    -rw-rw-r-- 1 500 500 1733 May  4  2014 INSTALL
    drwxrwxr-x 2 500 500 4096 Feb  2 19:56 src
    [root@rzk fastdfs-nginx-module]# cd src/
    [root@rzk src]# ll
    total 76
    -rw-rw-r-- 1 500 500 33207 Aug 30  2013 common.c
    -rw-rw-r-- 1 500 500  3479 Jan  3  2012 common.h
    -rw-rw-r-- 1 500 500   429 Feb  2 19:55 config
    -rw-rw-r-- 1 500 500  3679 Mar 30  2013 mod_fastdfs.conf
    -rw-rw-r-- 1 500 500 28542 May  4  2014 ngx_http_fastdfs_module.c
    //这里需要把mod_fastdfs.conf 拷贝一份到 /etc/fdfs/
    [root@rzk src]# cp mod_fastdfs.conf /etc/fdfs/
    [root@rzk src]# cd /etc/fdfs/
    [root@rzk fdfs]# ls
    anti-steal.jpg      http.conf         storage.conf         tracker.conf
    client.conf         mime.types        storage.conf.sample  tracker.conf.sample
    client.conf.sample  mod_fastdfs.conf  storage_ids.conf
    [root@rzk fdfs]# 
    
    

    修改拷贝好的配置文件

    [root@rzk fdfs]# vi mod_fastdfs.conf

    base_path=/fastdfs/tmp  文件位置
    tracker_server=IP地址:22122  IP地址
    group_name=rzk               需要一致
    url_have_group_name = true   是否需要添加组织的名字 默认是false关闭的
    
    

    现在需要进入到nginx目录下 编辑nginx.conf配置文件

    [root@rzk fdfs]# cd  /usr/local/nginx/
    [root@rzk nginx]# ll
    total 36
    drwx------ 2 nobody root 4096 Aug  3  2020 client_body_temp
    drwxr-xr-x 2 root   root 4096 Aug  3  2020 conf
    drwx------ 2 nobody root 4096 Aug  3  2020 fastcgi_temp
    drwxr-xr-x 2 root   root 4096 Aug  3  2020 html
    drwxr-xr-x 2 root   root 4096 Aug  3  2020 logs
    drwx------ 2 nobody root 4096 Aug  3  2020 proxy_temp
    drwxr-xr-x 2 root   root 4096 Feb  3 00:04 sbin
    drwx------ 2 nobody root 4096 Aug  3  2020 scgi_temp
    drwx------ 2 nobody root 4096 Aug  3  2020 uwsgi_temp
    [root@rzk nginx]# cd conf
    [root@rzk conf]# ll
    total 64
    -rw-r--r-- 1 root root 1077 Aug  3  2020 fastcgi.conf
    -rw-r--r-- 1 root root 1077 Feb  3 00:04 fastcgi.conf.default
    -rw-r--r-- 1 root root 1007 Aug  3  2020 fastcgi_params
    -rw-r--r-- 1 root root 1007 Feb  3 00:04 fastcgi_params.default
    -rw-r--r-- 1 root root 2837 Feb  3 00:04 koi-utf
    -rw-r--r-- 1 root root 2223 Feb  3 00:04 koi-win
    -rw-r--r-- 1 root root 5170 Aug  3  2020 mime.types
    -rw-r--r-- 1 root root 3957 Feb  3 00:04 mime.types.default
    -rw-r--r-- 1 root root 2656 Aug  3  2020 nginx.conf
    -rw-r--r-- 1 root root 2656 Feb  3 00:04 nginx.conf.default
    -rw-r--r-- 1 root root  636 Aug  3  2020 scgi_params
    -rw-r--r-- 1 root root  636 Feb  3 00:04 scgi_params.default
    -rw-r--r-- 1 root root  664 Aug  3  2020 uwsgi_params
    -rw-r--r-- 1 root root  664 Feb  3 00:04 uwsgi_params.default
    -rw-r--r-- 1 root root 3610 Feb  3 00:04 win-utf
    

    编辑nginx.conf

    注意:这里88端口需要开启

    [root@rzk conf]# vim nginx.conf
    

    进入sbin

    [root@rzk conf]# ll
    total 64
    -rw-r--r-- 1 root root 1077 Aug  3  2020 fastcgi.conf
    -rw-r--r-- 1 root root 1077 Feb  3 00:04 fastcgi.conf.default
    -rw-r--r-- 1 root root 1007 Aug  3  2020 fastcgi_params
    -rw-r--r-- 1 root root 1007 Feb  3 00:04 fastcgi_params.default
    -rw-r--r-- 1 root root 2837 Feb  3 00:04 koi-utf
    -rw-r--r-- 1 root root 2223 Feb  3 00:04 koi-win
    -rw-r--r-- 1 root root 5170 Aug  3  2020 mime.types
    -rw-r--r-- 1 root root 3957 Feb  3 00:04 mime.types.default
    -rw-r--r-- 1 root root 2765 Feb  3 00:34 nginx.conf
    -rw-r--r-- 1 root root 2656 Feb  3 00:04 nginx.conf.default
    -rw-r--r-- 1 root root  636 Aug  3  2020 scgi_params
    -rw-r--r-- 1 root root  636 Feb  3 00:04 scgi_params.default
    -rw-r--r-- 1 root root  664 Aug  3  2020 uwsgi_params
    -rw-r--r-- 1 root root  664 Feb  3 00:04 uwsgi_params.default
    -rw-r--r-- 1 root root 3610 Feb  3 00:04 win-utf
    [root@rzk conf]# cd ..
    [root@rzk nginx]# ll
    total 36
    drwx------ 2 nobody root 4096 Aug  3  2020 client_body_temp
    drwxr-xr-x 2 root   root 4096 Feb  3 00:34 conf
    drwx------ 2 nobody root 4096 Aug  3  2020 fastcgi_temp
    drwxr-xr-x 2 root   root 4096 Aug  3  2020 html
    drwxr-xr-x 2 root   root 4096 Aug  3  2020 logs
    drwx------ 2 nobody root 4096 Aug  3  2020 proxy_temp
    drwxr-xr-x 2 root   root 4096 Feb  3 00:04 sbin
    drwx------ 2 nobody root 4096 Aug  3  2020 scgi_temp
    drwx------ 2 nobody root 4096 Aug  3  2020 uwsgi_temp
    [root@rzk nginx]# cd sbin/
    total 7360
    -rwxr-xr-x 1 root root 3788256 Feb  3 00:04 nginx
    -rwxr-xr-x 1 root root 3747736 Aug  3  2020 nginx.old
    

    检查nginx

    [root@rzk sbin]# ./nginx -t
    ngx_http_fastdfs_set pid=13181
    nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
    nginx: [emerg] mkdir() "/var/temp/nginx/client" failed (2: No such file or directory)
    nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed
    

    如果出现这种问题

    解决方法

    1、删除掉 Makefile 文件,

    [root@rzk local]# cd /home/tar/nginx-1.12.0
    [root@rzk nginx-1.12.0]# ls
    auto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  Makefile  man  objs  README  src
    [root@rzk nginx-1.12.0]# rm Makefile 
    

    2、然后重新执该代码

    ./configure 
    --prefix=/usr/local/nginx 
    --pid-path=/var/run/nginx/nginx.pid 
    --lock-path=/var/lock/nginx.lock 
    --error-log-path=/var/log/nginx/error.log 
    --http-log-path=/var/log/nginx/access.log 
    --with-http_gzip_static_module 
    --http-client-body-temp-path=/var/temp/nginx/client 
    --http-proxy-temp-path=/var/temp/nginx/proxy 
    --http-fastcgi-temp-path=/var/temp/nginx/fastcgi 
    --http-uwsgi-temp-path=/var/temp/nginx/uwsgi 
    --http-scgi-temp-path=/var/temp/nginx/scgi 
    --add-module=/home/tar/fastDFS/fastdfs-nginx-module/src
    

    然后编译

    [root@rzk nginx-1.12.0]# **make&&make install**
    

    进入nginx安装目录,在/usr/local/nginx 然后进到sbin文件,检查nginx

    [root@rzk nginx]# cd /usr/local/nginx/
    [root@rzk nginx]# ls
    client_body_temp  conf  fastcgi_temp  html  logs  proxy_temp  sbin  scgi_temp  uwsgi_temp
    [root@rzk nginx]# cd sbin   -- 进入到sbin检查nginx
    [root@rzk sbin]# ./nginx -t
    ngx_http_fastdfs_set pid=22008
    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
    

    启动nginx

    如果出现这种情况,需要把你nginx.conf 里面的端口改一下 ,我这边配置是80改成8089就可以了

    [root@rzk sbin]# ./nginx 
    ngx_http_fastdfs_set pid=22286
    nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
    nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
    nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
    nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
    nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
    nginx: [emerg] still could not bind()
    

    启动

    [root@rzk sbin]# ./nginx
    ngx_http_fastdfs_set pid=22441
    

    访问图片

    进入根路径 有个fastdfs目录进去,进去storage里面的data

    [root@rzk /]# ls
    bin   dev  fastdfs  lib    lost+found  mnt     opt   root  sbin  sys  usr
    boot  etc  home     lib64  media       mydata  proc  run   srv   tmp  var
    [root@rzk /]# cd fastdfs/
    [root@rzk fastdfs]# ls
    client  storage  tmp  tracker
    [root@rzk fastdfs]# cd storage
    [root@rzk storage]# ls
    data  logs
    [root@rzk storage]# cd data
    [root@rzk storage]# cd 00
    [root@rzk storage]# cd 00
    [root@rzk 00]# ls
     rBAnO2AZpn-ABIKZAAABG7SKnKg548.png
    rBAnO2AZpn-ABIKZAAABG7SKnKg548.png-m
    
    

    根据ip加上 配置的group地址+图片地址M00/00/00/图片名

    如果访问图片显示这样

    进入/etc/fdfs
    编辑mod_fastdfs.conf找到store_path0,
    修改store_path0=/fastdfs/storage

    然后重启 track,storage,nginx服务

    [root@rzk bin]# fdfs_trackerd /etc/fdfs/tracker.conf restart
    waiting for pid [3864] exit ...
    starting ...
    [root@rzk bin]# fdfs_storaged /etc/fdfs/storage.conf restart 
    waiting for pid [18697] exit ...
    starting ...
    [root@rzk sbin]# ./nginx -s reload
    ngx_http_fastdfs_set pid=30297
    
    

    访问图片


    成功访问

  • 相关阅读:
    屏蔽右键
    无法解析类型 java.lang.Object。从必需的 .class 文件间接引用了它
    屏蔽右键
    Servlet的三个基本方法
    应用HttpClient来对付各种顽固的WEB服务器 摘抄
    Apache xmlrpc
    利用缓存机制快速读取XML文件数据
    JDBC连接MySQL
    HttpClient入门
    5款主流NoSQL数据库全方位横评
  • 原文地址:https://www.cnblogs.com/rzkwz/p/14363883.html
Copyright © 2011-2022 走看看