知识图谱实战(01):从0-1搭建图片服务器

news2025/1/16 2:39:10
作者:艾文编程
职业:程序员,BAT大厂资深工程师
摘要:搜索/推荐场景下给用户展示大量的图片信息,那么这些数据是通过专门的图片服务器来访问的。 我们在基于知识图谱的智能搜索系统中,对搜索出来的每条记录都有一个图片数据,那么我们通过搭建图片服务器来实现

服务器介绍

在实际开发中,我们会有很多处理不同功能的服务器

1、 应用服务器:负责部署我们的应用

2、数据库服务器:运行我们的数据库

3、文件服务器:负责存储用户上传文件的服务器(例如:图片/js/css等静态资源)

什么是图片服务器

1、图片服务器

专门为图片读写操作优化的独立服务器。

2、Web 服务器

通过 Web 服务器,用户可以访问静态网页、Web应用程序、数据库,或者上传下载图片以及其他多媒体内容。服务器中分离出来。

3、图片服务器和Web服务器分离

如果网站存在大量图片读写操作,把图片服务分离出来,建立独立的图片服务器

图片服务器的优势

1、分担 Web 服务器的 I/O 负载

将耗费资源的图片服务分离出来,提高服务器的性能和稳定性

2、能够专门对图片服务器进行优化

为图片服务设置有针对性的缓存方案,减少带宽成本,提高访问速度

3、提高网站的可扩展性

通过增加图片服务器,提高图片吞吐能力

常见的图片存储方案

方案一:使用nginx搭建图片服务器

方案二:使用开源的分布式文件存储系统,例如Fastdfs、HDFS等

方案三:使用云存储,例如阿里云、七牛云等

0到1搭建图片服务器

nginx下载和安装

第一步:下载-解压

1、下载nginx

curl -O https://nginx.org/download/nginx-1.22.0.tar.gz

2、解压

tar -zxf nginx-1.22.0.tar.gz

第二步:安装

1、安装在指定的目录

./configure --prefix=/usr/local/nginx

2、编译

在nginx安装目录(nginx-1.22.0 目录下),执行该命令~

make

第三步: 编译并安装

ps: 会在/usr/local/nginx目录下生成目录

sudo make install

nginx常见命令

1、启动nginx:sudo nginx

2、关闭nginx:sudo nginx -s stop

3、重启nginx:sudo nginx -s reload

图片服务器配置

配置文件:/usr/local/nginx/conf/nginx.conf

listen 8081;#监听端口

server_name localhost;# 图谱服务器地址

location ~ .*\.(gif|jpg|pdf|jpeg|png)$ {

root /data/www;# 图片存储路径

error_page 404 /img/default.jpg;# 默认图片

}

其中:$ ll /data/www/img/* 是存储图片的位置

图片服务器访问

1、通过nginx 访问图片静态资源

2、如果图片访问不到,提供默认的图片

针对访问图片是否存在,验证效果(左:图片资源存在;右:图片资源不存在)

总结

本节重点从0-1搭建图片服务器,为后续知识图片搜索系统访问图片提供基础服务。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/273592.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

支付系统核心架构设计思路(万能通用)

文章目录1. 支付系统总览核心系统交互业务图谱2. 核心系统解析交易核心交易核心基础交易类型抽象多表聚合 & 订单关联支付核心支付核心总览支付行为编排异常处理渠道网关资金核算3. 服务治理平台统一上下文数据一致性治理CAS校验幂等 & 异常补偿对账准实时对账DB拆分异…

fpga图像处理(sobel算子)

【声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 关于sobel算子,前面已经讲过计算方法了。一种是上下的sobel算子,一种是左右的sobel算子,两者都相当于prewitt算子的进一步拓展。当然,之前的实现方法都是基于python和opencv实现…

【Leetcode】面试题 16.05. 阶乘尾数、HJ7 取近似值

作者:小卢 专栏:《Leetcode》 喜欢的话:世间因为少年的挺身而出,而更加瑰丽。 ——《人民日报》 目录 面试题 16.05. 阶乘尾数 HJ7 取近似值 面试题 16.05. 阶乘尾数 面试题 16.05. 阶乘尾数 …

这才是计算机科学_计算机大量应用

文章目录一、编译原理1.1 早期编译方式1.2 编程语言二、算法&数据结构2.1 Sort2.2 图搜索2.3 Array2.4 Node三、软件工程起源2.1分解打包三 、摩尔定律3.1 发展历3.1.1 电子管3.1.2 晶体管3.1.3 集成电路 IC3.2 刻蚀工艺3.2.2 光刻负责电路一、编译原理 之前讲的例子中 &am…

46 理论计算机科学基础-北京大学

P10 课程介绍05:46P21-1 预备知识07:43P31-2 确定型有穷自动机例子11:23P41-3 确定型有穷自动机的形式化定义17:51P51-4 设计确定型有穷自动机05:57P61-5 正则运算与封闭性28:16P71-6 非确定型有穷自动机37:43P81-7 DFA与NFA的等价性17:41P91-8 正则语言的封闭性10:30P102-1 正…

第九章(13):STL之常用排序算法

文章目录前情回顾常用排序算法sortrandom_shufflemergereverse下一座石碑🎉welcome🎉 ✒️博主介绍:一名大一的智能制造专业学生,在学习C/C的路上会越走越远,后面不定期更新有关C/C语法,数据结构&#xff0…

Java 面向对象三大特性之三——接口(面试、学习、工作必备技能)

目录 一、接口概述(interface) 二、接口的成员 三、继承和实现 四、单继承和多实现 五、接口的优点 六、接口与抽象类 七、接口的思想 八、接口案例——运动员 ​​​​​​​ 接口概述(interface) 定义:是抽象方法和常量值的集合。 本质:从…

【C++修行之路】类和对象

面向对象编程详解目录前言面向对象和面向过程类和结构体构造函数和析构函数拷贝构造和赋值重载结语前言 好久不见,首先祝大家元宵节快乐,万家元夕宴,一路太平歌,今天执此佳节,一起来学习一下类和对象吧~ 面向对象和面…

系列分享 |《最强的 VLC 多媒体开发教程》

作者: 一去、二三里 个人微信号: iwaleon 微信公众号: 高效程序员 专栏介绍 《VLC 多媒体开发》,是一个专注于 libVLC 开发的专栏,里面共包含几十个章节,从 0 到 1,图文并茂,详细地…

【Linux】冯诺依曼体系与操作系统(OS)概念

文章目录冯诺依曼体系结构为什么是这样的结构局部性原理操作系统(Operator System)设计OS的目的定位如何理解管理 (精髓:先描述再组织)总结系统调用和库函数概念冯诺依曼体系结构 我们常见的计算机,如笔记本.我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系 为什么是这…

C++深入浅出(八)—— 继承

文章目录1. 继承的概念及定义🍑 继承的概念🍑 继承的定义🍅 定义格式🍅 继承关系和访问限定符🍅 继承基类成员访问方式的变化2. 基类和派生类对象赋值转换3. 继承中的作用域4. 派生类的默认成员函数5. 继承与友元6. 继…

jsp 校园网系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 jsp 校园网系统 是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统采用web模式开发,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数…

C#,入门教程(39)——C#语言的概念与知识点摘要

本文归纳整理C#的一些知识点,便于快速浏览与掌握C#语言的一些基本概念。本文并没有很好地层次与组织,抄了不少,写了不少,想到什么,就写什么。01 类 class类是C#等面向对象编程语言(Object-oriented program…

常用API、Lambda、常见算法

目录 日期与时间 Date SimpleDateFormat Calendar JDK8新增日期类 概述、LocalTime/LocalDate/LocalDateTime Instant DateTimeFormatter Duration/Period ChronoUnit 包装类 包装类练习 正则表达式 正则表达式概述、初体验 正则表达式的匹配规则 正则表达式的…

Zookeeper注册中心

zookeeper的使用场景 分布式协调、分布式锁、元数据/配置信息管理、HA高可用性 分布式协调 A系统发送个请求到mq,然后B系统消息消费之后处理了,那A系统如何知道B系统的处理结果?A系统发送请求之后在zookeeper上对某个节点的值注册个监听器,一旦B系统处理完了就修改zooke…

C语言高级教程-C语言数组(七):数组综合实例之井字棋游戏问题

C语言高级教程-C语言数组(七):数组综合实例之井字棋游戏问题一、本文的编译环境二、井字棋游戏的问题三、井字棋游戏的分析四、井字棋游戏的程序编写步骤4.1、添加主要的游戏循环和显示这个方格4.2、让玩家选择-一个方格, 并确定那…

Android 设置可抓包

在ren目录下新建xml文件夹&#xff0c;在xml下新建network_security_config.xml<?xml version"1.0" encoding"utf-8"?><!--<network-security-config>--><!-- <base-config cleartextTrafficPermitted"true" />--&…

MySQL面试:MySQL事务,内附详细视频教程,以及sql事务演示

文章目录一、事务&#xff08;提出事务&#xff09;二、四个特性&#xff08;事务要实现的特性&#xff09;三、一致性问题&#xff08;事务可以解决这些问题&#xff09;四、解决&#xff08;事务解决部分或全部一致性问题&#xff09;五、实现&#xff08;事务实现ACID的机制…

Python setattr()、getattr()、hasattr()函数用法详解

Python hasattr()函数hasattr() 函数用来判断某个类实例对象是否包含指定名称的属性或方法。该函数的语法格式如下&#xff1a;hasattr(obj, name)其中 obj 指的是某个类的实例对象&#xff0c;name 表示指定的属性名或方法名。同时&#xff0c;该函数会将判断的结果&#xff0…

差值结构不对称部分的约化质心

( A, B )---5*30*2---( 1, 0 )( 0, 1 ) 做一个网络&#xff0c;输入为5个点&#xff0c;训练集A,B各有两张图片。让B的两张图片全是0.排列组合A&#xff0c;记录迭代次数平均值的变化。 迭代了1024组&#xff0c;共收集到33组不同的数据&#xff0c;其中对称的部分有17组&…