缓存服务器

Nginx的安装、基本用法、与php-frm配置,配置文件的解释

坚强是说给别人听的谎言 提交于 2020-02-10 15:24:34
什么是Nginx Nginx 怎么读?---A: 恩静埃克斯 = Engine X---B: 恩静克思 [ˈendʒɪnks] Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的。从2004年发布至今,凭借开源的力量,已经接近成熟与完善。 Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件服务器。支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等功能。并且支持很多第三方的模块扩展。 Nginx的稳定性、功能集、示例配置文件和低系统资源的消耗让他后来居上,在全球活跃的网站中有12.18%的使用比率,大约为2220万个网站。 反正很牛逼。 Nginx常用功能 1、Http代理,反向代理 作为web服务器最常用的功能之一,尤其是反向代理。 Nginx在做反向代理时,提供性能稳定,并且能够提供配置灵活的转发功能。Nginx可以根据不同的正则匹配,采取不同的转发策略,比如图片文件结尾的走文件服务器,动态页面走web服务器,只要你正则写的没问题,又有相对应的服务器解决方案,你就可以随心所欲的玩。并且Nginx对返回结果进行错误页跳转,异常判断等。如果被分发的服务器存在异常,他可以将请求重新转发给另外一台服务器,然后自动去除异常服务器。 2、负载均衡 Nginx提供的负载均衡策略有2种

MySQL my.cnf详解

你说的曾经没有我的故事 提交于 2020-02-10 12:27:14
1 #*** client options 相关选项 ***# 2 #以下选项会被MySQL客户端应用读取。注意只有MySQL附带的客户端应用程序保证可以读取这段内容。如果你想你自己的MySQL应用程序获取这些值。需要在MySQL客户端库初始化的时候指定这些选项。[client] 3 port = 3306 4 socket = /usr/local/mysql/tmp/mysql.sock 5 [mysqld]!include /usr/local/mysql/etc/mysqld.cnf 6 #包含的配置文件 ,把用户名,密码文件单独存放 7 port = 3306 8 bind-address = 0.0.0.0 9 server-id = 1 10 #表示是本机的序号为1,唯一 11 socket = /usr/local/mysql/tmp/mysql.sock 12 pid-file = /usr/local/mysql/var/mysql.pid 13 basedir = /usr/local/mysql/ 14 datadir = /usr/local/mysql/var/ 15 tmpdir = /usr/local/mysql/tmp/ 16 #此目录被 MySQL用来保存临时文件.例如,它被用来处理基于磁盘的大型排序,和内部排序一样,以及简单的临时表

h5离线缓存

依然范特西╮ 提交于 2020-02-10 11:06:07
离线存储可以将站点的一些文件存储在本地,它是浏览器自己的一种机制,将需要的文件缓存下来 在没有网络的时候可以访问到缓存的对应的站点页面,包括html,js,css,img等等文件 在有网络的时候,浏览器也会优先使用已离线存储的文件,返回一个200(from cache)头。这跟HTTP的缓存使用策略是不同的。 资源的缓存可以带来更好的用户体验,当用户使用自己的流量上网时,本地缓存不仅可以提高用户访问速度,而且大大节约用户的使用流量。 HTML5的离线存储是基于一个新建的.appcache文件的缓存机制(不是存储技术),通过这个文件上的解析清单离线存储资源;把需要离线存储在本地的文件列在一个manifest配置文件中 什么是Manifest: Manifest(清单)是一个简单的文本文件,它的扩展名是任意的,定义需要缓存的文件、资源,当第一次打开时,浏览器会自动缓存相应的资源。 Manifest 的特点: 离线浏览:即当网络断开时,可以继续访问你的页面。 访问速度快:将文件缓存到本地,不需每次都从网络上请求。 稳定性:做了Manifest缓存,遇到突发网络故障或者服务器故障,继续访问本地缓存。 manifest属性,可以用来指定当前页面的manifest文件。 创建一个和html同名的manifest文件,比如页面为index.html,那么可以建一个cache

《大型网站技术架构:核心原理与案例分析》笔记

情到浓时终转凉″ 提交于 2020-02-10 02:59:33
目录 · 大型网站软件系统的特点 · 大型网站架构演化发展历程 · 初始阶段的网站架构 · 需求/解决问题 · 架构 · 应用服务和数据服务分离 · 需求/解决问题 · 架构 · 使用缓存改善网站性能 · 需求/解决问题 · 架构 · 使用应用服务器集群改善网站的并发处理能力 · 需求/解决问题 · 架构 · 数据库读写分离 · 需求/解决问题 · 架构 · 使用反向代理和CDN加速网站响应 · 需求/解决问题 · 架构 · 使用分布式文件系统和分布式数据库系统 · 需求/解决问题 · 架构 · 使用NoSQL和搜索引擎 · 需求/解决问题 · 架构 · 业务拆分 · 需求/解决问题 · 架构 · 分布式服务 · 需求/解决问题 · 架构 · 大型网站架构演化心得 · 大型网站架构模式 · 综述 · 分层 · 概念 · 目的 · 举例 · 分割 · 概念 · 目的 · 举例 · 分布式 · 概念 · 目的 · 缺点 · 举例 · 集群 · 概念 · 目的 · 缓存 · 概念 · 目的 · 举例 · 异步 · 概念 · 目的 · 冗余 · 概念 · 目的 · 举例 · 自动化 · 目的 · 举例 · 安全 · 举例 · 大型网站核心架构要素 · 性能 · 网站性能测试 · 不同视角下的网站性能 · 性能测试指标 · 性能测试方法 · 性能测试报告 · Web前端性能优化 ·

服务雪崩+缓存雪崩+解决方案

亡梦爱人 提交于 2020-02-09 20:38:08
一、服务雪崩 1、定义: 服务堆积在同一个线程池中,因为所有的请求都是同一个线程池进行处理,这时候如果在高并发情况下,所有的请求全部访问同一个接口, 这时候可能会导致其他服务没有线程进行接受请求,这就是服务雪崩效应效应。 2、原因: a.某几个机器故障:例如机器的硬驱动引起的错误,或者一些特定的机器上出现一些的bug(如,内存中断或者死锁)。 b.服务器负载发生变化:某些时候服务会因为用户行为造成请求无法及时处理从而导致雪崩,例如阿里的双十一活动,若没有提前增加机器预估流量则会造服务器压力会骤然增大二挂掉。 c.人为因素:比如代码中的路径在某个时候出现bug 3、解决: 4种:服务降级、服务熔断、服务隔离、限流模式、超时机制 a. 服务降级 :在高并发情况下,防止用户一直等待(返回一个友好的提示,直接给客户端,不会去处理请求,调用fallBack本地方法),目的是为了用户体验。 秒杀---当前请求人数过多,请稍后重试 b. 服务熔断 :熔断机制目的为了保护服务,在高并发的情况下,如果请求达到一定极限(可以自己设置阔值),如果流量超出了设置阈值,让后直接拒绝访问,保护当前服务。使用服务降级方式返回一个友好提示,服务熔断和服务降级一起使用。 熔断的设计主要参考了 hystrix 的做法, 分为3个模块:熔断请求判断算法、熔断恢复机制、熔断报警 (1)熔断请求判断机制算法

大型分布式电商系统架构演进史?

妖精的绣舞 提交于 2020-02-09 15:26:11
文章目录 概述 作者简介 一、大型分布式网站架构技术 1、大型网站的特点 2、大型网站架构目标 3、大型网站架构模式 4、高性能架构 5、高可用架构 6、可伸缩架构 7、可扩展架构 8、安全架构 9、敏捷性 10、大型架构举例 二、大型电商网站系统架构演变过程 1、最开始的网站架构 2、应用、数据、文件分离 3、利用缓存改善网站性能 4、使用集群改善应用服务器性能 5、数据库读写分离和分库分表 6、使用CDN和反向代理提高网站性能 7、使用分布式文件系统 8、使用NoSQL和搜索引擎 9、将应用服务器进行业务拆分 10、搭建分布式服务 三、一张图说明电商架构 四、大型电商网站架构案例 概述 本文是学习大型分布式网站架构的技术总结。对架构一个高性能、高可用、可伸缩及可扩展的分布式网站进行了概要性描述,并给出一个架构参考。文中一部分为读书笔记,一部分是个人经验总结,对大型分布式网站架构有较好的参考价值。 作者简介 烂皮猪,十余年工作经验,曾在Google等外企工作过几年,精通Java、分布式架构,微服务架构以及数据库,最近正在研究大数据以及区块链,希望能够突破到更高的境界 一、大型分布式网站架构技术 1、大型网站的特点 用户多,分布广泛 大流量,高并发 海量数据,服务高可用 安全环境恶劣,易受网络攻击 功能多,变更快,频繁发布 从小到大,渐进发展 以用户为中心 免费服务,付费体验 2

WEB端缓存机制

早过忘川 提交于 2020-02-08 13:28:51
WEB端缓存机制 什么是WEB缓存 Web缓存是指一个Web资源(如html页面,图片,js,数据等)存在于Web服务器和客户端(浏览器)之间的副本。缓存会根据进来的请求保存输出内容的副本;当下一个请求来到的时候,如果是相同的URL,缓存会根据缓存机制决定是直接使用副本响应访问请求,还是向源服务器再次发送请求。比较常见的就是浏览器会缓存访问过网站的网页,当再次访问这个URL地址的时候,如果网页没有更新,就不会再次下载网页,而是直接使用本地缓存的网页。只有当网站明确标识资源已经更新,浏览器才会再次下载网页 数据库数据缓存 数据库数据缓存的实质就是将频繁使用的数据从数据库(硬盘)存到内存中,而内存的读取速度远远快于直接在磁盘读取的速度。至于为什么会有明显的速度差异,浅显的理解是因为内存是电存储,硬盘存储是磁存储。电的速度远远大于磁盘(相当于磁带转动的速度)的速度。即使现在出现了固态硬盘但还仅仅只是在磁盘的基础上有所提高。 服务器端缓存 代理服务器缓存 代理服务器是浏览器和源服务器之间的中间服务器,浏览器先向这个中间服务器发起Web请求,经过处理后(比如权限验证,缓存匹配等),再将请求转发到源服务器。代理服务器缓存的运作原理跟浏览器的运作原理差不多,只是规模更大。可以把它理解为一个共享缓存,不只为一个用户服务,一般为大量用户提供服务,因此在减少相应时间和带宽使用方面很有效

ecshop缓存清理-限制或禁用ECShop缓存

こ雲淡風輕ζ 提交于 2020-02-08 10:53:50
ECSHOP的缓存存放在templates/caches/文章夹下,时间长了这个文件夹就会非常庞大,拖慢网站速度。还有很多情况我们不需要他的缓存。本文介绍禁用ECSHOP缓存的方法。   ECSHOP的缓存有两部分,一部分是SMARTY的页面缓存;另一部分是SQL查询结果的缓存。这两部分都是保存在templates/caches/文件夹下。只要我们分别关闭这两个功能,就可以完全禁用ECSHOP的缓存。当然你也可以根据自己的需要关闭其中某一个。   1.关闭SMARTY的缓存:   打开includes/cls_template.php,找到下面一段   if (file_put_contents($this->cache_dir . ‘/’ . $cachename . ‘.php’, ‘<?php exit;?>’ . $data . $out) === false) { trigger_error(’can\’t write:’ . $this->cache_dir . ‘/’ . $cachename . ‘.php’); }   将这一部分注释掉即可,改成 /*   if (file_put_contents($this->cache_dir . ‘/’ . $cachename . ‘.php’, ‘<?php exit;?>’ . $data . $out) ===

缓存数据库Memcache

萝らか妹 提交于 2020-02-08 05:22:06
为什么用缓存数据库 MySQL:将数据存储在 磁盘上 ,数据写入读取相对较慢 Memcached:将数据存在 内存中 的数据库,数据读写都快,但是数据容易丢失 数据存储 ,数据仓库选择MySQL这种磁盘的数据库 高并发,业务大 的应用选择Memcached这种内存数据库 当然,在工作中,都是景MySQL+Memcached/Redis搭配使用 Memcache介绍 Mem cache d 是一款开源的、高性能的纯内存缓存服务软件。 Mem是内存的意思 cache是缓存的意思 d是daemon的意思 官网地址http://memcache.org/ memcache在企业中的使用场景 优点: 对用户来讲,访问网站的速度更快了,体验更好了 对于网站来说,数据库压力降低了。只有当内存没有数据时,才回去请求数据库。第一次写入时也会请求数据库。一般公司没有预热,只有当用户读取过数据库,才回放到Memcache中。 提升了网站的并发访问,减少服务器的数量 数据库缓存架构图 memcache应用在session会话中 cookie和session 他们都是key-value的形式 cookie存放在浏览器上   F12 ---->Application---->在左边栏可以找到cookies session放在服务器上 Memcache的使用 准备环境 配置了一台centos6的模板机

LVS负载均衡

风格不统一 提交于 2020-02-08 05:21:09
Nginx反向代理型负载 负载均衡(load balance)集群,提供了一种廉价、有效、透明的方法,来扩展网络设备和服务器的负载、带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。 单台计算机无法承受大规模的并发访问,或者数据流量。此时需要搭建负载均衡集群把流量分摊到多台节点设备上分别处理,即减少用户的等待响应的时间,又提升了用户体验; 7*24小时的服务保证,任意一个或者多个有限后端节点宕机,不能影响整个业务的运行。 为什么还要学习LVS 工作在网络模型的7层,可以针对http应用做一些分流的策略,比如针对域名、目录结构,Nginx单凭这点可利用的场合就远多于LVS了。 最新版本的Nginx也支持4层TCP负载,曾经这是LVS比Nginx好的地方。 Nginx对网路稳定性的依赖非常小,理论上能ping通就能进行负载均衡,这个也是它的优势之一,相反LVS对网络稳定性依赖比较大。 Nginx的安装配置比较简单,测试起来比较方便,它基本能把错误用日志打印出来。LVS的配置、测试就要花比较长的时间了,LVS对网络依赖比较大。 懵逼了,Nginx这么好用,为什么还要用LVS。 简单一句话,当并发量超过Nginx上线,就可以使用LVS了。 日1000-2000W PV 或者并发请求10000一下都可以考虑用Nginx。 大型门户网站,点上网站需要用到LVS。