首页 > 系统相关 >fastDFS - 单机部署 + nginx

fastDFS - 单机部署 + nginx

时间:2024-09-13 14:24:15浏览次数:13  
标签:src tar 单机 fastDFS gz nginx usr local

准备

  1. 查看操作系统的版本信息
[root@lab10 ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
  1. 查看操作系统的网卡地址
[root@lab10 ~]# ip address show ens32
2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:ec:f2:1b brd ff:ff:ff:ff:ff:ff
    inet 10.1.1.10/24 brd 10.1.1.255 scope global ens32
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:feec:f21b/64 scope link 
       valid_lft forever preferred_lft forever
  1. 查看系统本地域名解析信息
[root@lab10 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
  1. 查看防火墙服务是否关闭
[root@lab10 ~]# getenforce
Permissive

创建数据存储目录

mkdir /home/dfs

切换到安装目录准备下载安装包

cd /usr/local/src

下载

  1. 访问https://nginx.org/en/download.html,下载 nginx

下载链接:https://nginx.org/download/nginx-1.26.2.tar.gz
文件全称:nginx-1.26.2.tar.gz
文件md5:1588676BE2A01A63D3A150FAE6C3F4A9

  1. 访问https://github.com/happyfish100/fastdfs/releases/tag/V6.12.1,下载 fastdfs

下载链接:https://github.com/happyfish100/fastdfs/archive/refs/tags/V6.12.1.tar.gz
文件全称:fastdfs-6.12.1.tar.gz
文件md5:9200914B56EA08D78A86D883DBADE23E

  1. 访问https://github.com/happyfish100/fastdfs-nginx-module/releases/tag/V1.24,下载 fastdfs-nginx-module

下载链接:https://github.com/happyfish100/fastdfs-nginx-module/archive/refs/tags/V1.24.tar.gz
文件全称:fastdfs-nginx-module-1.24.tar.gz
文件md5:7A58C2E5C7605284BD85F31A3F7CD622

  1. 访问https://github.com/happyfish100/libfastcommon/releases/tag/V1.0.74,下载 libfastcommon

下载链接:https://github.com/happyfish100/libfastcommon/archive/refs/tags/V1.0.74.tar.gz
文件全称:libfastcommon-1.0.74.tar.gz
文件md5:483F547E6DF264DC487CE559010FDC97

  1. 访问https://github.com/happyfish100/libserverframe/releases/tag/V1.2.4,下载 libserverframe

下载链接:https://github.com/happyfish100/libserverframe/archive/refs/tags/V1.2.4.tar.gz
文件全称:libserverframe-1.2.4.tar.gz
文件md5:524ACC91908D801DB3927FCA3BE4E494

上传

将上述 下载 的5个安装包上传至 /usr/local/src

安装编译环境

sudo yum install git gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl-devel wget vim -y

安装libfastcommon

# 进去目录
cd /usr/local/src/
# 解压
tar -zxvf libfastcommon-1.0.74.tar.gz
# 进去目录
cd /usr/local/src/libfastcommon-1.0.74
# 编译
./make.sh
# 安装
./make.sh install

安装libserverframe

# 进去目录
cd /usr/local/src/
# 解压
tar -zxvf libserverframe-1.2.4.tar.gz
# 进去目录
cd /usr/local/src/libserverframe-1.2.4
# 编译
./make.sh
# 安装
./make.sh install

安装FastDFS

# 进去目录
cd /usr/local/src/
# 解压
tar -zxvf fastdfs-6.12.1.tar.gz
# 进去目录
cd /usr/local/src/fastdfs-6.12.1
# 编译
./make.sh
# 安装
./make.sh install
# 供nginx访问使用
cp /usr/local/src/fastdfs-6.12.1/conf/http.conf /etc/fdfs/
cp /usr/local/src/fastdfs-6.12.1/conf/mime.types /etc/fdfs/

安装fastdfs-nginx-module

# 进去目录
cd /usr/local/src/
# 解压
tar -zxvf fastdfs-nginx-module-1.24.tar.gz
# 进去目录
cd /usr/local/src/fastdfs-nginx-module-1.24
# 供nginx访问使用
cp /usr/local/src/fastdfs-nginx-module-1.24/src/mod_fastdfs.conf /etc/fdfs

安装nginx

# 进去目录
cd /usr/local/src/
# 解压
tar -zxvf /usr/local/src/nginx-1.26.2.tar.gz
# 进去目录
cd /usr/local/src/nginx-1.26.2
# 添加fastdfs-nginx-module模块
# 添加with-http_stub_status_module模块
# 添加with-http_ssl_module模块
./configure --add-module=/usr/local/src/fastdfs-nginx-module-1.24/src --with-http_stub_status_module --with-http_ssl_module
# 编译
make
# 安装
make.sh install

单机部署 - tracker配置

vim /etc/fdfs/tracker.conf

# 需要修改的内容如下

# tracker服务器端口(默认22122,一般不修改) ---> 位置在20行
port = 22122
# 存储日志和数据的根目录 ---> 位置在45行
base_path = /home/dfs

单机部署 - storage配置

# 服务器ip为:10.1.1.10

vim /etc/fdfs/storage.conf

# 需要修改的内容如下

# storage服务端口(默认23000,一般不修改) ---> 位置在33行
port = 23000
# 数据和日志文件存储根目录 ---> 位置在79行
base_path = /home/dfs
# 第一个存储目录 ---> 位置在159行
store_path0 = /home/dfs
# tracker服务器IP和端口 ---> 位置在179行、180行,注释180行
tracker_server = 10.1.1.10:22122
# http访问文件的端口(默认8888,看情况修改,和nginx中保持一致)  ---> 位置在3863行
http.server_port = 8888

单机部署 - client测试

# 服务器ip为:10.1.1.10

vim /etc/fdfs/client.conf

# 需要修改的内容如下

# 数据和日志文件存储根目录 ---> 位置在11行
base_path = /home/dfs
# tracker服务器IP和端口 ---> 位置在26行、27行,注释27行
tracker_server = 10.1.1.10:22122

# 为了确保配置读取成功,重启 tracker 和 storage 服务
fdfs_storaged /etc/fdfs/storage.conf restart
fdfs_trackerd /etc/fdfs/tracker.conf restart

# 保存后测试
# 返回ID表示成功 如:group1/M00/00/00/CgEBCmbj07SAMa50ABL-dTo5Ptg.tar.gz
# 存储的路径:/home/dfs/data/00/00/CgEBCmbj07SAMa50ABL-dTo5Ptg.tar.gz
fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/nginx-1.26.2.tar.gz

单机部署 - 配置nginx访问

# 服务器ip为:10.1.1.10

vim /etc/fdfs/mod_fastdfs.conf

# 需要修改的内容如下

# tracker服务器IP和端口 ---> 位置在40行
tracker_server = 10.1.1.10:22122
#  ---> 位置在53行
url_have_group_name = true
#  ---> 位置在62行
store_path0 = /home/dfs

# 配置nginx.config
vim /usr/local/nginx/conf/nginx.conf

# 添加如下配置

    server {
        listen       8888;    ## 该端口为storage.conf中的http.server_port相同
        server_name  localhost;
        location ~/group[0-9]/ {
            ngx_fastdfs_module;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
        root   html;
        }
    }

# 为了确保配置读取成功,重启 nginx 服务
[root@lab10 ~]# /usr/local/nginx/sbin/nginx -t
ngx_http_fastdfs_set pid=63349
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 服务
/usr/local/nginx/sbin/nginx

文件校验

  • 服务器校验
[root@lab10 ~]# md5sum /usr/local/src/nginx-1.26.2.tar.gz 
1588676be2a01a63d3a150fae6c3f4a9  /usr/local/src/nginx-1.26.2.tar.gz
[root@lab10 ~]# md5sum /home/dfs/data/00/00/CgEBCmbj07SAMa50ABL-dTo5Ptg.tar.gz
1588676be2a01a63d3a150fae6c3f4a9  /home/dfs/data/00/00/CgEBCmbj07SAMa50ABL-dTo5Ptg.tar.gz
  • 本地校验

浏览器访问 http://10.1.1.10:8888/group1/M00/00/00/CgEBCmbj07SAMa50ABL-dTo5Ptg.tar.gz 下载上传成功的文件

结果:

  • 服务器使用 client 上传的与服务器 storage 服务存储的 md5 一致
  • 浏览器下载的文件与服务器 storage 服务存储的 md5 一致

参考链接:

  1. fastDFS 作者 wiki

标签:src,tar,单机,fastDFS,gz,nginx,usr,local
From: https://www.cnblogs.com/chanchifeng/p/18412115

相关文章

  • nginx 添加 ngx_fastdfs_module 模块
    目录nginx添加ngx_fastdfs_module模块背景安装fastdfslibcommon组件安装libserverframe组件安装fastdfs源码编译安装nginx重新源码编译下载ngx_fastdfs_module模块下载nginx源码包替换nginx添加ngx_fastdfs_module模块背景我在机器上源码安装了一个nginx,然后用户又让......
  • 终极 Nginx 配置指南
    转自:https://www.toutiao.com/article/7412444010868687412/?app=news_article_lite&timestamp=1726183629&use_new_style=1&req_id=20240913072708897999327556746BD261&group_id=7412444010868687412&share_token=d101eb4b-9c8a-45a3-82f8-a9020419cc39&......
  • 本地Linux服务器安装Nginx流程结合内网穿透实现无公网IP远程连接
    文章目录前言1.安装Docker2.使用Docker拉取Nginx镜像3.创建并启动Nginx容器4.本地连接测试5.公网远程访问本地Nginx5.1内网穿透工具安装5.2创建远程连接公网地址5.3使用固定公网地址远程访问前言在开发人员的工作中,公网远程访问内网是其必备的技术需求之一......
  • NGINX的漏桶算法限流与gateway的令牌桶算法限流
    简单来讲漏桶算法与令牌桶算法的区别漏桶算法是指请求会打入到一个“桶”中,桶会以一定速率将请求递交下去。当请求过多的时候,桶内会积累请求等待递交;当请求积累超过桶的大小时,请求就会向水满的桶一样溢出(被桶抛弃)令牌桶算法是指桶会以固定的速率生成令牌并存入桶中,桶满后会暂停......
  • Nginx入门实践(四)
    环境系统:Windows7Nginx版本:1.26.2Nginx负载均衡实现实现逻辑Nginx1:访问入口Nginx2、Nginx3、Nginx4:组成负载集群配置C:\Windows\System32\drivers\etc\hosts文件新增IP域名映射127.0.0.1backend1.com127.0.0.1backend2.comNginx1配置http{ upstreambacke......
  • Redis、Nginx、SQLite、Elasticsearch等开源软件成功的原因及它们对IT技术人员的启示
    引言这些年在自研产品,对于如何做好产品进行了一些思考。随着开源软件的蓬勃发展,许多开源项目已经成为IT行业的核心组成部分。像Redis、Nginx、SQLite、Elasticsearch这些知名的开源软件,已经成为了开发者的首选工具。这些开源软件不仅在技术性能上取得了重大突破,还在社区建设、生......
  • Windows下实现Nginx文件下载服务器功能
    下载Nginx文件text本机的版本为:nginx-1.24.0[http://nginx.org/download/nginx-1.24.0.zip]()配置nginx.conf文件,配置内容如下:`propertiesserver{ #服务监听端口、绑定IP、监听方式的配置listen8000;listenlocalhost:8080; #定义了服务器......
  • 【nginx】配置代理跳转
    背景服务节点1:有浏览器,未开通网络策略服务节点2:无浏览器,开通了对接第三方平台的网络策略现在想在服务节点1使用浏览器,通过服务节点2去访问第三方平台。在服务节点2搭建一个nginx,监听端口8800,通过node2:8800去访问第三方平台管理页面node2的nginx.conf示例:serve......
  • 国产化:部署单机THS(东方通TongHttpServer替代Nginx)
    背景国产化要求,使用东方通TongHttpServer替代Nginx。1安装THS解压之后把授权文件license.dat放到主目录下即可。tarzxvfTongHttpServer_6.0.0.2_x86_64.tar.gz2启动主程序如果以root用户启动THS时,worker进程会切换到nobody用户nobody组运行。所以确定......
  • Nginx节点健康检查与自动上下线管理脚本,推送告警到企业微信
    文章目录案例:Linux定时任务调取脚本执行场景说明告警脚本(text)check_nginx_tcp_up.shcheck_nginx_tcp_up.logcheck_nginx_tcp_up_run.shcheck_nginx_tcp_up_run.log告警效果案例:Linux定时任务调取脚本执行由于需求是每2秒执行一次,但Linux......