使用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
访问图片
成功访问