web服务器

Web 中间件 php-fpm 配置调优

偶尔善良 提交于 2020-02-25 23:59:46
Web 中间件 php-fpm 配置调优 一、php-fpm.conf 主要配置参数 pm = dynamic; 表示使用哪种进程数量管理方式 dynamic 表示 php-fpm 进程数是动态的,最开始是 pm.start_servers 指定的数量,如果请求较多,则会自动增加,保证空闲的进程数不小于pm.min_spare_servers,如 果进程数较多,也会进行相应清理,保证多余的进程数不多于 pm.max_spare_servers; static 表示 php-fpm 进程数是静态的,进程数自始至终都是 pm.max_children 指定的数量,不再增加或减少。 pm.max_children = 300; 静态方式下开启的php-fpm进程数量 pm.start_servers = 20; 动态方式下的起始php-fpm进程数量 pm.min_spare_servers = 5; 动态方式下的最小php-fpm进程数量 pm.max_spare_servers = 35; 动态方式下的最大php-fpm进程数量 注意:数值设置,参考自己的实际硬件配置,可以参考 总内存/30M 来计算。 如果 pm 设置为 static,那么其实只有 pm.max_children 这个参数生效。系统会开启设置数量的 php-fpm 进程。 如果 pm设置为 dynamic,那么

ServletContxt对象

谁说我不能喝 提交于 2020-02-24 15:34:52
什么是 ServletContext对象 ServletContext代表是一个web应用的环境(上下文)对象(就是web的应用对象,整个项目的对象),ServletContext对象 内部封装是该 web应用的信息,ServletContext对象一个web应用只有一个。 问题:一个 web应用有几个servlet对象?----多个 ServletContext对象的生命周期? 创建:该 web应用被加载(web项目在服务器上,服务器启动或发布web应用(前提,服务器启动状 态)) 销毁: web应用被卸载(服务器关闭,移除该web应用) 怎样获得 ServletContext对象 第一种: 第二种: ServletContext的作用 在写路径的时候不要按照web项目里的路径写,要按照服务器里的路径去写 也就是按照 去写 首先先创建几个文件当做例子 在WebContion下创建文件a.txt 在WebContion下WEB-INF下创建b.txt 在Src下创建c.txt 在项目WTT01下创建d.txt 然后在 导入项目打开服务器, 显示 控制台: 在项目上创建的文件是无法复制到服务器上的,以后不要直接在项目上创建文件 (1)ServletContext是一个域对象 (重要 重要 重要) 存储数据的区域就是域对象 我们一个项目里 只能有一个ServletContext

关于大型网站技术演进的思考(十)--网站静态化处理—动静整合方案(2)

雨燕双飞 提交于 2020-02-23 11:34:44
  上篇文章我简要的介绍了下网站静态化的演进过程,有朋友可能认为这些知识有点过于稀松平常了,而且网站静态化的技术基点也不是那么高深和难以理解,因此它和时下日新月异的web前端技术相比,就显得不伦不类了。其实当我打算写本系列的之前我个人觉得web前端有一个点是很多人都知道重要,但是有常常低估它作用的,那就是web前端和web服务端如何融合的这个点上,这个点再加上我们要做出一个规模庞大,高并发,快速响应的网站时候它对于web前端的架构技术的演进起到了一个不可忽视的作用。   网站的web前端要实现高效,第一个要解决的短板就是网络的延迟性对网站的加载效率的影响,当然很多人会说网速快不快这是网络运营商的问题,不是网站的问题,但是大家肯定也见过就算我们用上了千兆宽带也会有些网站加载速度慢的让人无法忍受,网站本身的确是没法控制网络速度的能力,但是如果我们不降低网络对页面加载效率的影响,其他任何优化网站的手段也就无从谈起,原因就是网络效率对于网页加载效率的影响是起到大头作用的,只有这个大头被解决了,那么解决其他的小头才能发挥作用。   回到上文讲到的网站静态化的关键点动静分离,解决这个关键点的本质就是为了降低网速对网站加载效率的影响,但是我们在处理动静分离问题时候采取的策略不同会对我们整个网站架构产生重大影响,特别是将网页做好动静拆分后,静态的资源尽力向浏览器端推移

关于大型网站技术演进的思考(十一)--网站静态化处理—动静分离策略(3)

£可爱£侵袭症+ 提交于 2020-02-23 11:30:35
  前文里我讲到了网站静态化的关键点是动静分离, 动静分离是让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作,这就是网站静态化处理的核心思路 。由此可见,网站静态化处理的核心就是 动静分离和缓存 两大方面,上篇我简单讲述了动静整合的基础知识,本篇将会讲述两大核心之一的动静分离策略,只有把动静分离策略做好了,缓存才能发挥出它应有的效果。   下面我们要讨论下动静分离的策略了,一个页面什么内容是动态的,什么内容是静态的,这个我们到底该如何来区分了?这个问题学问非常大,我们的标准不同,最后拆分出来的动静资源就会存在很大的不同。在本系列开篇里,我提到了什么样的页面是静态页面,什么样的页面是动态页面,我是以一个url的角度定义的,每个独立的页面都会有一个url,这个url就好比这个页面的门牌号,我们每次访问这个url时候如果得到的响应页面都是一样的那么我们就认为该页面是静态页面,如果访问某个url,我们访问的时间不同,最后展示的页面也不一样那么这个页面就是动态页面,动态页面就是我们要进行动静分离的载体了,我们可以看到我的定义其实是和时间相关的,也就是说访问时间不同,得到的结果会不一致,所以我们可以根据时间这个维度分析页面里那些内容是静态的,那些是动态,但是这个划分在实际情况里就会变得非常复杂

在web中,get和post的区别详解

回眸只為那壹抹淺笑 提交于 2020-02-22 22:56:30
在web中,get和post的区别详解 在说get和post的区别之前,我们应该先了解一下什么是HTTP。 HTTP 简介 HTTP是一个简单的请求-响应协议,是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是一个基于TCP/IP通信协议的用来传递数据的协议。 HTTP 工作原理 HTTP是基于客户/服务器模式的,面向连接的,一种无状态协议。浏览器作为HTTP客户端通过URL向HTTP服务端(即WEB服务器)发送请求。典型的HTTP处理过程如下: (1)客户与服务器建立连接 (2)客户向服务器提出请求 (3)服务器接受请求,并根据请求返回相应的结果作为应答 (4)客户与服务器断开连接 HTTP注意事项: HTTP是面向连接的 :即每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。 HTTP是媒体独立的 :只要客户端和服务器知道如何处理数据的内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型。 HTTP是无状态的 :无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。但另一方面,在服务器不需要先前信息时它的应答就较快。 HTTP 请求方法 OPTIONS

使用java基础实现一个简陋的web服务器软件

假装没事ソ 提交于 2020-02-22 13:29:19
使用java基础实现一个简陋的web服务器软件 1、写在前面 大学已经过了一年半了,从接触各种web服务器软件已经有一年多了,从大一上最开始折腾Windows电脑自带的IIS开始,上手了自己的第一个静态网站,从此开启了web方向学习的兴趣。到现在,从陪伴了javaweb阶段的Tomcat走来,也陆续接触了jetty,Nginx等web服务器软件。但是,这些web服务器的软件也一直都是开箱即用,从未探究过其背后的原理。今天,尽量用最简单的java代码,实现一个最简陋的web服务器软件,揭开web服务器软件的神秘面纱。 2、Tomcat的架构模式 由上图可以看出,Tomcat作为如今相对成熟的web服务器软件,有着相对较为复杂的架构,有着Server、Service、Engine、Connerctor、Host、Context等诸多组件。对于Tomcat的源码分析将在以后的博文中分篇讲解 ,在此不在叙述。本节主要是实现一个自己的web服务器软件,其架构也超级简单。 3、编写一个简单的web服务器类 3.1、web服务器软件面向的浏览器客户,因此在同一时间肯定不止有一个http请求,因此肯定需要开启多线程来进行服务,对类上实现Runnable接口,并重写其中的run方法。 public class ServerThread implements Runnable { @Override

HTTP网页异常错误代码详解

落花浮王杯 提交于 2020-02-20 05:55:17
在调试TomCat,等web服务器的时候我们有时候各种错误代码铺面而来,让人头疼不已,那么这些代码究竟都代表什么呢?知道这些代码会会对我们的调试帮助很大 让我们来看一下这些代码究竟什么意思 400 无法解析此请求。 401.1 未经授权:访问由于凭据无效被拒绝。 401.2 未经授权: 访问由于服务器配置倾向使用替代身份验证方法而被拒绝。 401.3 未经授权:访问由于 ACL 对所请求资源的设置被拒绝。 401.4 未经授权:Web 服务器上安装的筛选器授权失败。 401.5 未经授权:ISAPI/CGI 应用程序授权失败。 401.7 未经授权:由于 Web 服务器上的 URL 授权策略而拒绝访问。 403 禁止访问:访问被拒绝。 403.1 禁止访问:执行访问被拒绝。 403.2 禁止访问:读取访问被拒绝。 403.3 禁止访问:写入访问被拒绝。 403.4 禁止访问:需要使用 SSL 查看该资源。 403.5 禁止访问:需要使用 SSL 128 查看该资源。 403.6 禁止访问:客户端的 IP 地址被拒绝。 403.7 禁止访问:需要 SSL 客户端证书。 403.8 禁止访问:客户端的 DNS 名称被拒绝。 403.9 禁止访问:太多客户端试图连接到 Web 服务器。 403.10 禁止访问:Web 服务器配置为拒绝执行访问。 403.11 禁止访问:密码已更改。

295 nide.js创建web服务器

纵饮孤独 提交于 2020-02-19 17:58:48
// 引用系统模块 const http = require('http'); // 创建web服务器 const app = http.createServer(); // 当客户端发送请求的时候 app.on('request', (req, res) => { // 响应 res.end('<h1>hi, user</h1>'); }); // 监听3000端口 app.listen(3000); console.log('服务器已启动,监听3000端口,请访问 localhost:3000') 来源: https://www.cnblogs.com/jianjie/p/12332171.html

第一篇web框架

荒凉一梦 提交于 2020-02-18 06:21:21
第一篇web框架 http协议 web应用和web框架 主 文 http协议 HTTP简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。 HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。 HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。 HTTP特点 1、简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。 由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 2、灵活:HTTP允许传输任意类型的数据对象

大型网站系统架构分析

試著忘記壹切 提交于 2020-02-18 01:50:31
千万级的注册用户,千万级的帖子,nTB级的附件,还有巨大的日访问量,大型网站采用什么系统架构保证性能和稳定性? 首先讨论一下大型网站需要注意和考虑的问题。 数据库海量数据处理 :负载量不大的情况下select、delete和update是响应很迅速的,最多加几个索引就可以搞定,但千万级的注册用户和一个设计不好的多对多关系将带来非常严重的性能问题。另外在高UPDATE的情况下,更新一个聚焦索引的时间基本上是不可忍受的。索引和更新是一对天生的冤家。 高并发死锁 :平时我们感觉不到,但数据库死锁在高并发的情况下的出现的概率是非常高的。 文件存储的问题 :大型网站有海量图片数据、视频数据、文件数据等等,他们如何存储并被有效索引?高并发的情况下IO的瓶颈问题会迅速显现。也许用RAID和专用存贮服务器能解决眼下的问题,但是还有个问题就是各地的访问问题,也许我们的服务器在北京,可能在云南或者海南的访问速度如何解决?如果做分布式,那么我们的文件索引以及架构该如何规划。 接下来讨论大型网站的底层系统架构,来有效的解决上述问题。 毋庸置疑,对于规模稍大的网站来说,其背后必然是一个服务器集群来提供网站服务,例如,2004年eBay的服务器有2400台,估计现在更多。当然,数据库也必然要和应用服务分开,有单独的数据库服务器集群。对于像淘宝网这样规模的网站而言,就是应用也分成很多组。 下面