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

访问图片


成功访问

原文地址:https://www.cnblogs.com/rzkwz/p/14363883.html