启动FastDFS,安装nginx,整合fdfs与nginx,进行上传下载测试

前言

环境:Centos7.9 、FastDFS_v5.07.tar.gz
前两篇我们讲了FastDFS的安装与3个配置文件,现在我们就来启动一下FastDFS,并安装nginx,结合nginx来访问下载Storage server里的图片数据等。

Tracker server和Storage server的启动

现在我们就来启动Tracker server和Storage server,首先先启动Tracker ,然后再启动Storage ,因为Storage 启动后会去连接
Tracker ,在Storage 的配置文件里写了Tracker 的链接IP和端口。

[root@nginx init.d]# cd /etc/init.d/
[root@nginx init.d]# ./fdfs_trackerd start															#启动Tracker 
[root@nginx init.d]# lsof -i:22122																	#检查Tracker 是否启动成功
COMMAND     PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
fdfs_trac 34410 root    5u  IPv4  76778      0t0  TCP *:22122 (LISTEN)
[root@nginx init.d]# ./fdfs_storaged start														#启动Storage 
[root@nginx init.d]# lsof -i:23000																	#检查Storage是否启动成功
COMMAND     PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
fdfs_stor 37565 root    5u  IPv4  83885      0t0  TCP *:inovaport1 (LISTEN)
[root@nginx init.d]# 
[root@nginx ~]# fdfs_monitor /etc/fdfs/storage.conf					#使用fdfs_monitor监视器查看Storage和Tracker 是否在通信

Linux本地上传测试文件

启动好Tracker server和Storage server之后,我们就来使用追踪服务器的客户端来上传文件,如下,使用 fdfs_upload_file来上传一张图片进行测试:

[root@nginx FastDFS]# fdfs_upload_file /etc/fdfs/client.conf test.png
G1/M00/00/00/wKh2gWD8jfmAKVnjAAL3yUqgn0s230.png
[root@nginx FastDFS]# 
[root@nginx 00]# ll /FastDFS/Storage_Data/store_file/data/00/00/		#检查,这个路径是我自己配置的路径
total 192
-rw-r--r--. 1 root root 194505 Jul 24 18:02 wKh2gWD8jfmAKVnjAAL3yUqgn0s230.png		#真得上传成功了
[root@nginx 00]# 

格式讲解

在上面我们进行测试上传的时候,返回了一串东西,那么这串东西表示上面含义呢?介绍如下:

G1/M00/00/00/wKh2gWD8jfmAKVnjAAL3yUqgn0s230.png

解释如下:
组名:文件上传后所在storage组名称,这里G1就是组名;
虚拟磁盘路径:storage配置的虚拟路径,与storage.conf配置文件中参数store_path*对应,如果配置了store_path0则是M00,如果配置了store_path1则是M01,以此类推;
数据两级目录:storage服务器在每个虚拟磁盘路径下创建的两级目录,用于存储数据文件;
文件名:ifle_id,与文件上传时不同,是因为存储服务器根据特定信息生成文件名,文件名包含:源存储服务器IP地址、文件创建时间戳、文件大小、随机数和文件拓展名等信息。

Linux本地下载测试文件

使用客户端命令fdfs_download_file 对刚才上传的文件进行下载,如下:

[root@nginx /]# fdfs_download_file /etc/fdfs/client.conf G1/M00/00/00/wKh2gWD8jfmAKVnjAAL3yUqgn0s230.png
[root@nginx /]# ll wKh*																																				#已经下载成功了
-rw-r--r--. 1 root root 194505 Jul 24 19:23 wKh2gWD8jfmAKVnjAAL3yUqgn0s230.png
[root@nginx /]# 

安装Nginx用于访问Storage server

总在Linux本地进行上传下载也不是办法,毕竟用户都是使用浏览器进行上传文件和下载文件的,那么我们就来安装Nginx,让用户从浏览器访问Storage server进行上传下载文件数据等,Nginx只需要安装在Storage server端即可。

[root@nginx /]# cd /FastDFS/Install_packages/			
[root@nginx Install_packages]# tar -zxvf fastdfs-nginx-module_v1.16.tar.gz -C /FastDFS/			#先解压这个fastdfs-nginx-module模块包
[root@nginx Install_packages]# cd fastdfs-nginx-module
[root@nginx Install_packages]# more INSTALL			#查看安装文档得知在编译nginx时需要加入这个模块扩展来让Nginx支持fdfs
[root@nginx Install_packages]# useradd -s /sbin/nologin -M nginx			#创建Nginx用户
[root@nginx Install_packages]# yum -y install make zlib* pcre* gcc gcc-c++ openssl*		#安装Nginx的依赖包
[root@nginx nginx_soft]# tar -zxvf nginx-1.18.0.tar.gz -C ./			#解压Nginx压缩包到当前目录
[root@nginx nginx_soft]# chown -R nginx.nginx nginx-1.18.0/					#目录授权给nginx用户管理
[root@nginx nginx_soft]# cd nginx-1.18.0/	
[root@nginx nginx-1.18.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --add-module=/FastDFS/fastdfs-nginx-module/src
[root@nginx nginx-1.18.0]# make
[root@nginx nginx-1.18.0]# make install							#nginx安装完成
[root@nginx nginx-1.18.0]#echo 'PATH=/usr/local/nginx/sbin/:$PATH' >> /etc/profile		#添加环境变量
[root@nginx nginx-1.18.0]#echo 'export PATH' >> /etc/profile							#添加环境变量
[root@nginx nginx-1.18.0]#source /etc/profile


修改Nginx的配置文件nginx.conf

安装好了nginx了,也在安装时指定nginx支持fdfs的模块了,现在我们来修改nginx的配置文件:

[root@nginx conf]# cd /usr/local/nginx/conf/
[root@nginx conf]# vim nginx.conf
在server处添加一下几行:
 location /G1/M00 {						#表示访问/G1/M00跳转到/FastDFS/Storage_Data/store_file/data
            alias /FastDFS/Storage_Data/store_file/data;
            ngx_fastdfs_module;
        }
[root@nginx conf]# cp /FastDFS/FastDFS/conf/http.conf	 /etc/fdfs/		#复制源码包里面的http.conf到/etc/fdfs/目录下
[root@nginx conf]# cp /FastDFS/FastDFS/conf/mime.types	 /etc/fdfs/		##复制源码包里面的mime.types到/etc/fdfs/目录下
[root@nginx /]#/FastDFS/fastdfs-nginx-module/src/mod_fastdfs.conf  /etc/fdfs/	#复制mod_fastdfs.conf到/etc/fdfs/目录下
#mod_fastdfs.conf是fastdfs-nginx-module模块的配置文件,我们需要修改该配置文件
[root@nginx /]#vim /etc/fdfs/mod_fastdfs.conf      #修改mod_fastdfs.conf配置文件,主要修改下面几个参数:
base_path=/FastDFS/Mod_fastdfs_nginx				#配置存储log files的目录
tracker_server=nginx:22122							#treacker的IP端口,这里的IP也可以写成主机名
storage_server_port=23000							#storage的端口
group_name=G1										#组名
# if the url / uri including the group name
# set to false when uri like /M00/00/00/xxx
# set to true when uri like ${group_name}/M00/00/00/xxx, such as group1/M00/xxx
# default value is false
url_have_group_name = true							#这里我改为true,因为nginx的写法是/G1/M00 ,等下网页访问我也会写上组名
store_path0=/FastDFS/Storage_Data/store_file		#storage的数据文件存储路径


[root@nginx conf]#nginx	-t					#测试配置文件
[root@nginx conf]#nginx						#启动nginx		
[root@nginx conf]#netstat -lntp|grep nginx



网页访问nginx检测访问图片

nginx搭建好了,我们来访问一下看是否真正将fdfs和nginx整合起来了,下面来访问fdfs中我们之前已经上传的照片,测试如下:
在这里插入图片描述
网页输入:http://192.168.118.129/G1/M00/00/00/wKh2gWD8jfmAKVnjAAL3yUqgn0s230.png,已经能支持访问到fdfs里的图片了,测试成功。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
FastDFS 是一个开源的轻量级分布式文件系统,它可以提供高性能的文件存储和访问服务。而 Nginx 是一个高性能的 Web 服务器和反向代理服务器,它可以用来加速静态文件的访问和负载均衡。 将 FastDFS 整合Nginx 中,可以通过 Nginx 提供的访问控制和负载均衡机制,提高 FastDFS 的性能和可靠性。 以下是 FastDFS 整合 Nginx 的步骤: 1. 安装 FastDFSNginx安装 FastDFSNginx 之前,需要确保系统已经安装了 libfastcommon 和 pcre 库。 安装 FastDFS 包括 tracker 和 storage 两个组件,可以通过以下命令进行安装: ``` wget https://github.com/happyfish100/fastdfs/archive/V5.11.tar.gz tar -zxvf V5.11.tar.gz cd fastdfs-5.11/ ./make.sh ./make.sh install ``` 安装 Nginx 可以通过以下命令进行安装: ``` wget https://nginx.org/download/nginx-1.20.0.tar.gz tar -zxvf nginx-1.20.0.tar.gz cd nginx-1.20.0/ ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module make make install ``` 2. 配置 FastDFS 配置 FastDFS 的时候,需要修改 tracker 和 storage 的配置文件,使其能够正常工作。 tracker 的配置文件路径为 /etc/fdfs/tracker.conf,可以通过以下命令进行修改: ``` vi /etc/fdfs/tracker.conf ``` 修改 tracker_server 配置项,将其设置为本机IP地址,例如: ``` tracker_server=192.168.1.100:22122 ``` storage 的配置文件路径为 /etc/fdfs/storage.conf,可以通过以下命令进行修改: ``` vi /etc/fdfs/storage.conf ``` 修改 tracker_server、store_path0 和 base_path 配置项,将其设置为本机IP地址和存储路径,例如: ``` tracker_server=192.168.1.100:22122 store_path0=/data/fastdfs/storage base_path=/data/fastdfs ``` 3. 配置 Nginx 配置 Nginx 的时候,需要修改 nginx.conf 配置文件,使其能够正常工作。 nginx.conf 的路径为 /usr/local/nginx/conf/nginx.conf,可以通过以下命令进行修改: ``` vi /usr/local/nginx/conf/nginx.conf ``` 在 http 配置段中添加以下配置: ``` http { ... # fastdfs 配置 fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; fastcgi_buffer_size 64k; fastcgi_buffers 4 64k; fastcgi_busy_buffers_size 128k; fastcgi_temp_file_write_size 128k; fastcgi_intercept_errors on; fastcgi_pass_header Server; fastcgi_hide_header X-Powered-By; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param REQUEST_URI $request_uri; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param DOCUMENT_ROOT $document_root; fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param SERVER_SOFTWARE nginx; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $server_name; # fastdfs 分组和文件id参数 fastcgi_param FILE_GROUP $arg_group_name; fastcgi_param FILE_ID $arg_file_id; # fastdfs 路径 fastcgi_param FASTCGI_SCRIPT_NAME /fastdfs; fastcgi_param FASTCGI_DOCUMENT_ROOT /usr/local/nginx/html; } ``` 在 server 配置段中添加以下配置: ``` server { ... location /group1/M00 { ngx_fastdfs_module; } } ``` 其中,/group1/M00 是 FastDFS 中默认的组名和存储路径,可以根据实际情况进行修改。 4. 启动 FastDFSNginx 启动 FastDFSNginx 可以通过以下命令进行启动: ``` /etc/init.d/fdfs_trackerd start # 启动 tracker /etc/init.d/fdfs_storaged start # 启动 storage /usr/local/nginx/sbin/nginx # 启动 nginx ``` 启动成功后,可以通过访问 http://localhost/group1/M00/test.jpg 来测试是否能够正常访问 FastDFS 中的文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值