图片服务器的搭建

article/2025/10/3 0:22:45

当高并发的时候容易发生图盘上传到一个服务器从另一个服务器需要读取照片

解决方法

专门保存图片,不管是哪个服务器接收到图片,都把图片上传到图片服务器。

图片服务器上需要安装一个http服务器,可以使用tomcat、apache、nginx

1、1什么是FastDFS

          FastDFS是用c语言编写的一款开源的分布式文件系统。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。

1.2、​​​​​​​文件上传流程

​​​​​​​

1.3、文件下载流程

​​​​​​​1.4、上传文件的文件名

客户端上传文件后存储服务器将文件ID返回给客户端,此文件ID用于以后访问该文件的索引信息。文件索引信息包括:组名,虚拟磁盘路径,数据两级目录,文件名。

http://192.168.198.129/group1/

 

  1. 组名:文件上传后所在的storage组名称,在文件上传成功后有storage服务器返回,需要客户端自行保存。
  2. 虚拟磁盘路径:storage配置的虚拟路径,与磁盘选项store_path*对应。如果配置了store_path0则是M00,如果配置了store_path1则是M01,以此类推。
  3. 数据两级目录:storage服务器在每个虚拟磁盘路径下创建的两级目录,用于存储数据文件。

文件名:与文件上传时不同。是由存储服务器根据特定信息生成,文件名包含:源存储服务器IP地址、文件创建时间戳、文件大小、随机数和文件拓展名等信息。

2.FastDFS搭建

可以使用一台虚拟机来模拟,只有一个Tracker、一个Storage服务。

配置nginx访问图片。

2.1、

搭建准备:gcc,perl

第一步:把fastDFS都上传到linux系统。

第二步:安装FastDFS之前,先安装libevent工具包。

yum -y install libevent

第三步:安装libfastcommonV1.0.7工具包。

  1. 解压缩
  2. ./make.sh
  3. ./make.sh install
  4. 把/usr/lib64/libfastcommon.so文件向/usr/lib/下复制一份

第四步:安装Tracker服务。

  1. 解压缩
  2. ./make.sh
  3. ./make.sh install

安装后在/usr/bin/目录下有以fdfs开头的文件都是编译出来的。

配置文件都放到/etc/fdfs文件夹

  1. 把/root/FastDFS/conf目录下的所有的配置文件都复制到/etc/fdfs下。
  2. 配置tracker服务。修改/etc/fdfs/tracker.conf文件。
  3. 不用修改/root/FastDFS/conf/tracker.conf文件。

  1. 启动tracker。/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf

重启使用命令:/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart

第五步:安装storage服务。

  1. 如果是在不同的服务器安装,第四步的1~4需要重新执行。
  2. 配置storage服务。修改/etc/fdfs/,/root/FastDFS/conf/storage.conf文件

 

  1. 启动storage服务。

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart

第六步:测试服务。

  1. 修改配置文件/etc/fdfs/client.conf

 

  1. 测试

/usr/bin/fdfs_test /etc/fdfs/client.conf upload 1.jpg

第七步:搭建nginx提供http服务。

可以使用官方提供的nginx插件。要使用nginx插件需要重新编译。

fastdfs-nginx-module_v1.16.tar.gz

  1. 解压插件压缩包
  2. 修改/root/fastdfs-nginx-module/src/config文件,把其中的local去掉。

  1. 对nginx重新config

./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=/root/fastdfs-nginx-module/src

  1. make
  2. make install
  3. 把/root/fastdfs-nginx-module/src/mod_fastdfs.conf文件复制到/etc/fdfs目录下。编辑:

 

  1. nginx的配置

在nginx的配置文件中添加一个Server:

server {

        listen       80;

        server_name  192.168.101.3;

 

        location /group1/M00/{

#root /home/FastDFS/fdfs_storage/data;

ngx_fastdfs_module;

        }

}

  1. 将libfdfsclient.so拷贝至/usr/lib下

cp /usr/lib64/libfdfsclient.so /usr/lib/

  1. 启动nginx.    . /nginx -t

 

 


http://chatgpt.dhexx.cn/article/fo8IlpT7.shtml

相关文章

图片服务器搭建

图片服务器搭建 原先我们通过servlet上传一个用户的头像,需要把头像显示到网站上。就需要搭建一个图片服务器来显 示图片了。 图片服务器其实和tomcat/nginx容器的作用是一样的。目的都是要把文件从本地的磁盘上发布出去。一般常用 的图片服务器是apache服务器 &am…

三种图片服务器

2019独角兽企业重金招聘Python工程师标准>>> 到目前,工作中用到的图片服务器有下面三种: (1)使用Nginx搭建图片服务器 (2)使用阿里云图片服务器(OOS) (3&…

【java】本地客户端内嵌浏览器2 - chrome/chromium/cef/jcef

目录 ★☆★ 写在前面 ★☆★★☆★ 本系列文章 ★☆★★☆★ 开源网址 ★☆★一、发现新大陆 - CEF/JCEF0、前言1、使用 jcef.jar 搭建项目2、启动包含 jcef.jar 的程序3、simple\MainFrame 注释翻译 二、定制自己的项目之 Swing1、删除导航栏2、程序启动最大化窗口&#xff0…

C#嵌入谷歌浏览器内核

1.右击项目,选择.net框架为4.5以上: 2.右击项目,选择“管理Nuget程序包”,点击“浏览”,搜索“CefSharp”,选择“CefSharp WinForms”下载安装。 安装之后到项目的引用下查看,会出现&#xff…

WinFrom内嵌chrome浏览器

选中项目,右键,下拉列表里选择“管理Nuget程序包(N)”选项,打开如图: 按照步骤装上这个nuget包,装上以后你的工具箱就有这个了: 不用拖拉控件,直接代码绑定把&#xff…

在网页中内嵌网页

目录&#xff1a; 文章目录 前言代码展示主页代码展示作品的代码球体运动方块旋转 结果演示 前言 在制作个人网站时&#xff0c;经常遇到一个问题&#xff0c;就是如何让自己的作品动态的显示在主页上而本文就是找到了解决办法&#xff0c;利用<embed src"xx.html&qu…

Qt实现 内嵌CEF制作浏览器(首篇)

介绍 cef支持跨平台&#xff0c;是基于Chromium的开源浏览器控件&#xff0c;全称Chromium Embedded Framework&#xff0c;因为其跨平台性&#xff0c;被广泛使用于制作浏览器。 本文主要介绍如何下载cef以及编译windows下的cef项目&#xff0c;并运行查看浏览器显示效果。 …

Qt 内嵌浏览器几种办法

1.使用axWidget QT axcontainer 然后ui里面就可以出现QAxWidget 直接拖入就可以 ui->axWidget->setControl(QString::fromUtf8("{8856F961-340A-11D0-A96B-00C04FD705A2}")); ui->axWidget->setFocusPolicy(Qt::StrongFocus); ui->axWidget…

CEF内嵌浏览器 编译

CEF github 笔记 https://github.com/fanfeilong/cefutil/blob/master/doc/CEF%20General%20Usage-zh-cn.md#using-binray 介绍 CEF全称Chromium Embedded Framework&#xff0c;是一个基于Google Chromium 的开源项目。Google Chromium项目主要是为Google Chrome应用开发的…

Unity内嵌浏览器插件(Android、iOS、Windows)

文章目录 一. Embedded Browser插件下载2. 使用 二. UniWebView插件1. 下载2. 使用 三、我自制的迷你浏览器 一. Embedded Browser插件 下载 平台&#xff1a;Windows 链接&#xff1a;https://pan.baidu.com/s/1h2oyGW6FsvPlOGCob0VrfA 提取码&#xff1a;02tu 2. 使用 导…

QT内嵌浏览器与JS通讯

QT内嵌浏览器与JS通讯 1. 概述2. JS调用QT方法2.1 QT代码2.2 HTML/代码 3 WebEngineView示例4. 效果展示 1. 概述 QT内嵌浏览器支持拦截请求、获取cookie、js代码注入及js调用QT方法。本篇主要介绍js调用QT方法其他方式的使用QT WebEngineView 拦截请求、获取cookie&#xff0…

Unity 工具之 内嵌网页/浏览器 web view / browser 插件的整理大全(包括Window Mac Android iOS 等)

Unity 工具之 内嵌网页/浏览器 web view / browser 插件的整理大全&#xff08;包括Window Mac Android iOS 等&#xff09; 目录 Unity 工具之 内嵌网页/浏览器 web view / browser 插件的整理大全&#xff08;包括Window Mac Android iOS 等&#xff09; 一、简单介绍 二、…

Unity 工具之 内嵌网页/浏览器插件使用和学习笔记

1、Embedded Browser 插件&#xff08;文件夹名ZFBrowserUnity&#xff09; 优点&#xff1a;设置简单&#xff0c;功能强大&#xff1a;输入url地址&#xff0c;拉取网页信息&#xff0c;可设置页面尺寸&#xff0c;可显示透明背景的网页&#xff0c;可与显示的页面进行互动&…

java内嵌浏览器的几种方式

最近遇到一个特殊的项目需求&#xff0c;就是需要在一个屏幕上打开多个窗口大小不同的浏览器、并且显示不同的页面。因为是需要浏览器无边框的&#xff0c;在网上找了好多资料&#xff0c;发现前端好像很难实现。所以就打算采用java后台内嵌浏览器&#xff0c;然后实现无边框的…

winform内嵌浏览器的2种实现方式

可使用WebBrowser或axWebBrowser实现winform窗体内嵌浏览器 一 使用axWebBrowser打开浏览器 1.新建个winform项目 2.添加axWebBrowser控件 打开工具箱,右键空白处,点击选择项 选择COM组件,勾上Microsoft Web Browser 把控件拉拽到winform窗体上 3.使用axWebBrowser打开浏览器 …

云表中表单配置内嵌浏览器

给大家分享一个在表单里也能嵌入网页的一个功能&#xff0c;云表的内嵌浏览器 1.首先我们先添加一个云表内嵌浏览器&#xff0c;在模板设计的右边点击表格面板点击下拉后可以先将浏览器&#xff0c;这个浏览器是需要一整个表格的 2.添加好浏览器后&#xff0c;我们表单设置…

Android开发实用小技巧九——内嵌WebView的使用(内置浏览器)

文章目录 前言一、效果展示二、代码1.样式布局2.活动页面 总结 前言 内嵌WebView的使用&#xff08;内置浏览器&#xff09;。 一、效果展示 二、代码 1.样式布局 res/layout/activity_browser.xml &#xff1a; <?xml version"1.0" encoding"utf-8"…

springboot 调用Jxbrowser内嵌浏览器

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、Jxbrowser是什么&#xff1f;二、使用步骤1.下载jar包一、在jxbrowser的启动类中加入如下代码&#xff1a;二、在resources目录下新建META-INF/teamdev.lic…

javaFX实现桌面应用程序内嵌浏览器(一、框架建设)

一、jdk不匹配问题 修改jdk版本不成功&#xff1a; 1、注意环境变量是否更改 2、jdk路径已经更改成功但cmd打开输入Java -version还是原先版本&#xff1a;在PATH的那一溜里将把JAVA_HOME放到最前面去 3、idea修改jdk版本 IDEA修改JDK版本完整版 以及Modules中的Sources&#…

IDM下载工具

安装的时候一直next就好了&#xff0c;尽量将idm安装在c盘里面 下面这个链接时绿色版&#xff0c;不需要安装 然后用idm免注册脚本运行一下 下载链接&#xff08;传不上来&#xff0c;发邮箱我给你传一份&#xff0c;这个阿里云盘有点low啊&#xff09; 尽量在关闭360等工具运…