概述

因为前面在做FastDFS文件系统安装部署介绍时我们已经测试将文件上传成功了,但我们无法下载。因此安装Nginx作为服务器以支持Http方式访问文件。同时,后面安装FastDFS的Nginx模块也需要Nginx环境。

Nginx只需要安装到StorageServer所在的服务器即可,用于访问文件。


1、fastdfs-nginx-module安装与配置

1.1 创建目录:

 mkdir -p /usr/fswl/dev/nginx/

1.2 上传module

将fastdfs-nginx-module上传至/usr/fswl/dev/nginx/目录下

1.3 解压fastdfs-nginx-module

unzip fastdfs-nginx-module.zip

2、NGINX安装与配置

2.1、安装nginx所需环境

① gcc 安装

# yum install gcc-c++

② PCRE pcre-devel 安装

# yum install -y pcre pcre-devel

③ zlib 安装

# yum install -y zlib zlib-devel

④ OpenSSL 安装

# yum install -y openssl openssl-devel

2.2、解压

tar -zxvf nginx-1.12.0.tar.gz

2.3、编译安装

依次执行以下命令:

./configure --prefix=/usr/local/nginx --add-module=/usr/fswl/dev/nginx/fastdfs-nginx-module/src makemake install

3、配置storage nginx

进入配置文件目录:

cd /usr/local/nginx/conf

location /{worker_processes 4;error_log logs/error.log;worker_processes 4;error_log logs/error.log;events { worker_connections 10240;}http { include mime.types; default_type application/octet-stream; server { listen 8095; server_name xx.com; location /{ root html; index index.html index.htm; } location ~/group([0-9])/M00 { ngx_fastdfs_module; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }}

重启nginx

cd /usr/local/nginx/sbin./nginx -s stop./nginx

4、修改配置,使其生效

4.1 复制FastDFS配置文件

进入FastDFS安装时的解压过的目录,将http.conf和mime.types拷贝到/etc/fdfs目录下:

# cd /usr/local/fastdfs/fastdfs-5.11/conf# lsanti-steal.jpg http.conf storage.conf tracker.confclient.conf mime.types storage_ids.conf#cp http.conf /etc/fdfs/#cp mime.types /etc/fdfs/

4.2 复制module配置文件

把fastdfs-nginx-module安装目录中src目录下的mod_fastdfs.conf拷贝到/etc/fdfs目录下:

cp /usr/fswl/dev/nginx/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/

对刚刚拷贝的mod_fastdfs.conf文件进行修改:

vim /etc/fdfs/mod_fastdfs.conf

1.base_path=/usr/fswl/dev/fastdfs/fastdfs_storage #保存日志目录2.tracker_server=xx.xx.xx146:22122 #tracker服务器的IP地址以及端口号3.storage_server_port=23000 #storage服务器的端口号4.url_have_group_name = true #文件 url 中是否有 group 名5.store_path0=/usr/fswl/dev/fastdfs/fastdfs_storage_data #存储路径6.group_count = 1 #设置组的个数7.在文件的最后,设置group[group1]group_name=group1storage_server_port=23000store_path_count=1store_path0=/usr/fswl/dev/fastdfs/fastdfs_storage_datastore_path1=/usr/fswl/dev/fastdfs/fastdfs_storage_data

5、测试验证

5.1 启动NGINX

service nginx restart

5.2 图片验证

上传图片web浏览器按地址访问

http://ip/group1/M00/00/00/xxx.jpg

网页访问:

最终部署结构图(参考其他网站的图):可以按照下面的结构搭建环境。


到这里FastDFS分布式文件系统就搭建成功了,后面就是代码里面去调用然后网页来访问了,这部分内容就不做介绍啦。后面会分享更多devops和DBA方面内容,感兴趣的朋友可以关注下!

fastdfs搭建_记一次生产环境FastDFS文件系统安装部署过程相关推荐

  1. linux ntp时间立即同步命令_记一次生产环境部署NTP服务及配置时间同步

    概述 linux服务器在提供服务时,要和其他机器进行请求的交互,实际生产环境中,可能因为时间不同步,导致了服务异常. 下面介绍下怎么部署NTP服务来解决这个问题. ps:强烈吐槽下头条这个新排版功能, ...

  2. mysql 插入慢_记一次生产环境mysql数据库参数优化,值得收藏

    概述 最近在对各个系统的mysql做一些参数上的优化,也开了慢查询,准备后面针对特定sql再进一步优化.下面主要介绍一下一些优化的参数. 1.优化前mysql配置 可以看到基本上是没怎么做优化的. 2 ...

  3. mysql挂载数据卷_记一次生产数据库数据文件进行分区转移

    概述 由于之前同事没有对磁盘分区做规划,可以看到数据和系统是在同个分区的,没有单独规划一个数据分区给数据库,还有个分区是640G没有用上.下面简单介绍一下mysql数据库数据文件的转移过程. 1.新建 ...

  4. oracle重建实例_记一次误删Oracle控制文件并恢复过程

    概述 当你在数据库运行时误删除了控制文件怎么办?很不幸有一次我就有这个情况,虽然是测试环境,这里因为我有事先把控制文件分别备份,所以恢复还是比较简单的.下面简单记录下怎么恢复. 问题 控制文件版本不一 ...

  5. 15分钟从零开始搭建支持10w+用户的生产环境(二)

    上一篇文章,把这个架构的起因,和操作系统的选择进行了详细说明. 原文地址:15分钟从零开始搭建支持10w+用户的生产环境(一)   二.数据库的选择 对于一个10W+用户的系统,数据库选择很重要. 一 ...

  6. 从零搭建webpack的react开发/生产环境

    一.初始化项目 在命令行中敲入如下命令: mkdir Webpack-react && cd Webpack-react && npm init -y 然后你就可以在你 ...

  7. 15分钟从零开始搭建支持10w+用户的生产环境(三)

    上一篇文章介绍了这个架构中,选择MongoDB做为数据库的原因,及相关的安装操作. 原文地址:15分钟从零开始搭建支持10w+用户的生产环境(二)   三.WebServer 在SOA和gRPC大行其 ...

  8. 15分钟从零开始搭建支持10w+用户的生产环境(四)

    上一篇文章,介绍了这个架构中,WebServer的选择,以及整个架构中扩展时的思路. 原文地址:15分钟从零开始搭建支持10w+用户的生产环境(三)   五.架构实践 前边用了三篇文章,详细介绍了这个 ...

  9. 记一次生产环境脚本入侵检测与报警案例(检测特定目录被改动,自动报警)

    需求 : 特定目录,改动之后,自动报警. 转载来源 : 记一次生产环境脚本入侵检测与报警案例(简易版入侵检测系统) : http://www.safebase.cn/article-259102-1. ...

最新文章

  1. 用户列表-投资记录sql
  2. dedecms后台左侧菜单500错误怎么处理
  3. 如何快速将文本中的tab更换成逗号(图文详解)
  4. pythonjson实例_python:JSON的两种常用编解码方式实例解析
  5. 密码学专题 openssl编译和安装
  6. typescript和coffeescript简介
  7. thymealf 高级用法_史上最详 Thymeleaf 使用教程
  8. java reduce 分组_使用JAVA8 stream中三个参数的reduce方法对List进行分组统计
  9. iOS---------- Safe Area Layout Guide before iOS 9.0
  10. remove Host from VMware cluster
  11. 计算机电缆静电,ZR-DJFPVP计算机电缆
  12. 【Unity】关于ScreenCapture.CaptureScreenshot截屏的尝试
  13. 《机械制造技术基础》常见的问题
  14. 计算机模拟光照,建筑太阳光照实时模拟软件
  15. uniapp使用第三方字体
  16. 使用C#压缩解压rar格式文件
  17. linux proftpd mysql_proftpd mysql quota 配置完全指南
  18. jre是否支持html5,html5的结构
  19. x64、x86_64、x64、AMD64
  20. jq html 回车提交表单,jQuery事件之键盘事件(ctrl+Enter回车键提交表单等)

热门文章

  1. 华为 AppGallery Connect 构建游戏分发能力,赋能游戏全生命周期
  2. AWS 聘用 Rust 编译器联合创始人,大企为何都爱 Rust?
  3. 从仁慈的独裁者到微软打工人,Python之父和Python将走向何方?
  4. PostgreSQL 13 发布,索引和查找有重大改进
  5. 谁说前端工程师不能成为全栈?
  6. 什么是 “内存管理机制”?
  7. 无代码时代下,程序员不够用了!
  8. 前字节跳动程序员 28 岁提前退休引热议,网友:我也想!
  9. 现在是 RSS 复兴的时候了!
  10. 罗永浩:我今年四十八岁,还可以承受无数次的失败;iOS14 或将推出系统级「小程序」功能;​ PyCharm新版发布| 极客头条...