企业网站建设

建站知识

今日已发布信息: 77368
累计注册用户: 72531918

PHP详解和Apache的Module、CGI与FastCGI

网页程序 给客户端 面的请求时 作为一个独立

概述: PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。  --百度百科  PHP的Zend引擎将整个PHP执行分为两个阶段:  1.分析PHP代码将其转换为Zend Opcode格式,并存储在内存中  2.之后执行这些转换后的opcode(opcode是一种将PHP脚本编译后的中间语言,可以加快php的执行速度)

  静态网站是指全部由HTML(标准通用标记语言的子集)代码格式页面组成的网站,所有的内容包含在网页文件中。网页上也可以出现各种视觉动态效果,如GIF动画、FLASH动画、滚动字幕等,而网站主要是静态化的页面和代码组成,一般文件名均以htm、html、shtml等为后缀。

  动态网站是指通过网页程序语言编写,当客户请求时执行网页程序脚本,将程序执行的结果返回给客户端。PHP、JSP、ASP等等都是比较常见的动态网页程序。

  PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。  --百度百科

 

  邹城网站制作  mt4出租   今日推荐免费建站   分类信息   伊宁网站建设公司

 


  PHP的Zend引擎将整个PHP执行分为两个阶段:

  1.分析PHP代码将其转换为Zend Opcode格式,并存储在内存中
  2.之后执行这些转换后的opcode(opcode是一种将PHP脚本编译后的中间语言,可以加快php的执行速度)

  Zend引擎执行PHP代码的具体流程如下:

  1.扫描--将PHP代码转换为语言片段(Tokens)

  2.分析--将Tokens转换成简单而有意义的表达式

  3.编译--将表达式编译成opcode

  4.执行--顺次执行opcode,每次一条


PHP结合Apache的方式有三种:

作为模块:PHP作为Apache的模块,当有php页面的请求时,Apache加载php模块,加载资源并执行php程序,将执行结果返还给客户端。

CGI方式(注:CGI是一个协议,可以实现web服务程序和解释器通信):PHP作为一个独立的功能程序,当有php页面的请求时,Apache通过CGI方式启动一个PHP进程,PHP进程获取资源并执行后,将执行结果返回给Apache,Apache返回给客户端,之后Apache销毁该进程。

FastCGI(注:FastCGI是CGI协议的一个扩展,可以实现将PHP作为一个独立进程,由PHP自身实现进程的创建和销毁):PHP作为一个独立程序,根据配置文件事前启动N个作业进程用来等待处理用户请求(类似于Apache的Prefork模型,规定默认启动进程数、最大启动进程数、最小启动进程数等等),当有php页面的请求时,Apache通过代理方式使用FastCGI协议将请求发送给PHP进程,并指定php网页文件所在位置(URL),PHP进程接收后为其分配一个作业进程并执行脚本。


 

web网站的压力测试

测试前的名词解释:

吞吐率:

web服务器单位时间内处理的请求数。单位“reqs/s”

压力测试的前提

  压力测试包含两部分:并发用户数和总请求数。简单来说就是:多少用户同时向服务器发送多少个请求。

  请求:对请求的URL所代表的资源的描述,比如1KB大小的静态文件,或者包含10次数据库查询的动态内容等。

总结:吞吐率的前提包括如下几个条件:

a.并发用户数

b.总请求数

c.请求资源描述

并发用户数

  并发用户数:某一时刻同时向服务器发送请求的用户总数。

  从web服务器的角度看:实际并发用户数可以理解为Web服务器当前维护的代表不同用户的文件描述符总数,也就是并发连接数。不是说有多少的用户请求就建立多少的连接,当实际的用户请求数大于服务器所维护的文件描述符总数时,多出来的用户请求将会放在服务器内核的数据接收缓冲区中等待处理,在用户看来这些请求是处于阻塞状态的。

最大并发用户数和最大并发连接数的决定因素的本质区别:

  当实际并发用户数稍稍大于服务器所能维护的文件描述符上限时,如果请求的性质决定了处理每个请求花费的时间非常少,比如请求1KB的静态网页,那么每个请求都可以快速被处理然后释放文件描述符,这样从用户角度而言,等待时间几乎不会减少太多。所以这种情况下,我们希望服务的最大并发用户数可以大于最大并发连接数。幸运的是,这种情况在我们后边介绍select模型在大并发下处理小文件请求时会有相应测试。

  如果请求性质决定了处理每个请求要花费相当长的时间,比如下载10MB文件或者请求动态内容,那么即使服务器可以支持较大的并发连接数,比如使用异步I/O理论上可能支持2万个并发连接,然而是否能为这么多接入的用户提供快速响应的服务至关重要。对于下载10MB文件来说,可能由于带宽的瓜分导致每个用户等待时间过长。所以这种情况下,我们希望服务的最大并发用户数小于理论上的最大并发连接数。


web服务器的本质工作:

争取以最快的速度将内核缓冲区中的用户请求数据一个不剩地都拿回来,然后尽最大努力同时快速处理完这些请求,并将响应数据放到内核维护的另一块用于发送数据的缓冲区中,接下来尽快处理下一波请求,并尽量不要让用户请求在内核缓冲区中等太久。

请求等待时间

用户平均请求等待时间

服务器平均请求处理时间


以常用的web压力测试工具ab举例:

[root@lnmp ~]# ab -n10000 -c100 http://www.chborg.com/test  

This is ApacheBench, Version 2.3 <$Revision: 655654 $>

Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/

Licensed to The Apache Software Foundation, http://www.apache.org/


Benchmarking www.chborg.com (be patient)

Completed 1000 requests

Completed 2000 requests

Completed 3000 requests

Completed 4000 requests

Completed 5000 requests

Completed 6000 requests

Completed 7000 requests

Completed 8000 requests

Completed 9000 requests

Completed 10000 requests

Finished 10000 requests



Server Software:        nginx

Server Hostname:        www.chborg.com

Server Port:            80


Document Path:          /test

Document Length:        189 bytes


Concurrency Level:      100

Time taken for tests:   0.832 seconds

Complete requests:      10000

Failed requests:        0

Write errors:           0

Total transferred:      4290000 bytes

HTML transferred:       1890000 bytes

Requests per second:    12018.03 [#/sec] (mean)

Time per request:       8.321 [ms] (mean)

Time per request:       0.083 [ms] (mean, across all concurrent requests)

Transfer rate:          5034.90 [Kbytes/sec] received


Connection Times (ms)

              min  mean[+/-sd] median   max

Connect:        0    0   0.6      0       4

Processing:     1    8   2.5      8      16

Waiting:        0    7   2.7      8      16

Total:          3    8   2.2      8      16


Percentage of the requests served within a certain time (ms)

  50%      8

  66%      9

  75%     10

  80%     10

  90%     11

  95%     12

  98%     12

  99%     14

 100%     16 (longest request)


3个命令行参数,代表3个前提条件:

-n10000表示请求总数为10000

-c100表示并发用户数为100

http://www.chborg.com/test表示请求的目标URL

Requests per second:    12018.03 [#/sec] (mean)表示吞吐率

Server Software

表示被测试的web服务器软件名称,它来自于http响应数据的头信息,这里是可以通过修改web软件源码随意更改的

Server Hostname

表示请求的URL主机部分名称,它来自于http请求数据的头信息,这里我们请求的URL是http://www.chborg.com/test,所以主机名为www.chborg.com

Server Port

web服务器的监听端口

Document Path

请求的URL中的根绝对路径,同样来自于http请求数据的头信息。

Document Length

表示http响应数据的征文长度

Concurrency Level

表示并发用户数,我们自己设定的参数

Time taken for tests

表示所有这些请求被处理完成所花费的总时间。

Complete requests

表示请求总数,也是我们设定的参数。

Failed requests

表示失败的请求数。这里的失败是指:请求在连接服务器、发送数据、接收数据等环节发生异常,以及无响应后超时的情况。对于超时时间的设置可以用ab -t参数。

而如果接收到的http响应数据的头信息中含有2xx以外的状态码,则会在测试结果显示另外一个名为“Non-2xx responses”的统计项,用于统计这部分请求数,这些请求并不算是失败的请求。

Total transferred

表示所有请求的响应数据长度总和,包括每个http响应数据的头信息和正文数据的长度。注意这里不包括http请求数据的长度,所以Total transferred代表了从web服务器流向用户pc的应用层数据总长度,通过使用ab -v参数可查看详细的http头信息。

HTML transferred

表示所有请求的响应数据中正文数据的总和,也就是减去了Total transferred中http响应数据中头信息的长度。

Requests per second

重点关注:吞吐率!!

Complete requests/Time taken for tests

Time per request

用户平均请求等待时间=Time taken for tests/(Complete requests/Concurrency Level)

Time per request(across all concurrent requests)

这是服务器平均请求处理时间:

Time taken for tests/Complete requests

Transfer rate

表示请求在单位时间内从服务器获取的数据长度=Total transferred/Time taken for tests

这个统计可以很好地说明服务器在处理能力达到极限时,其出口带宽的需求量。

Percentage of the requests served within a certain time (ms)

可以看出请求处理时间的分布。


测试案例1

[root@lnmp ~]# ab -n10000 -c2000 http://www.chborg.com/test

This is ApacheBench, Version 2.3 <$Revision: 655654 $>

Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/

Licensed to The Apache Software Foundation, http://www.apache.org/


Benchmarking www.chborg.com (be patient)

socket: Too many open files (24)

[root@lnmp ~]# ulimit -n

1024

正常情况下你如果没有修改服务器允许所打开的文件描述符的大小时,在这里我用的是centos-6.5,内核版本为

默认允许打开文件描述符的最大值为1024(ulimit -n);可修改为65535(ulimit -n 65535)。刚好与上述:实际并发用户数可以理解为Web服务器当前维护的代表不同用户的文件描述符总数。相对应!!!






接口开放在即 先学招行做好微信内容营销

  10月29日,微信公众平台改版上线公测,开放了全新的认证体系,并增加了相应的开发接口,这次主要针对的是服务号。对于微信运营者来说这是福音,但是对于中小企业主来说,真正操作这些具体的细节的时候,是很费精力的事情,弄不好是一根“难啃的骨头”,真想把微信玩的转,还得看运营。

  运营微信公众号显然与微博营销大相径庭。不同于微博营销,微信公众号的大多数内容几乎是一劳永逸的,不需要铺天盖地的信息量的铺陈来吸引和取悦不同口味人群。在微信公众号中你所要做的就是以内容为核心,所有不以内容为核心的微信营销都是耍流氓。

  精准的信息传达

  在微信上,粉丝不需要你先给他讲十条笑话拉拢关系,然后再向他推销,在这里你只需要开门见山的告诉粉丝你能为他们提供什么,力求每一条内容都能够包含最大化的信息量。

  

 

  看完图不要以为这是美食或者电影类微信大号,这就是“招商银行信用卡-北京”微信公众号的内容,直接告诉粉丝们所能享受到的优惠。第一条信息就将吃货所能享受优惠的餐饮悉数展示出来,每个餐饮品牌下还有多家分店呢,都能享受到五折优惠,这着实让吃货们完全丧失抵抗力。你不是吃货?没有关系,五折K歌,积分免费换电影,你选一个吧!还没有喜欢的?!好吧,作为土豪的你这些都已经玩腻了,那就来分期购吧,买车买手机,全部0利息0手续费。这么多的优惠便捷总有一个能触动你的神经。

  当然,即使是开门见山的内容传达也要讲究表达的方式。例如字里行间的卖萌也是有区别的,这一点正如哈士奇和喵星人卖萌的档次之分。在“招商银行信用卡-北京”的内容中,间或出现“o(v)o~~”、“^^”的符号表情正如和一位女神聊天中的“呵呵”一样,具有异曲同工的高贵冷艳之感。

企业怎样利用新浪微博进行营销推广

  尽管微博迅速成为热点媒体 ,新浪微博在短时间内迅速积攒了大量的忠实微民 ,但是新的广告形式仍然没有在新浪微博页面上出现 ,产品信息得到广泛传播更多是得益于微民的积极互动以及意见领袖的舆论引导。新浪微博要获得发展就必须打破现状 ,给企业提供平台 ,从而也能够从中获得利益。

  第一,微博广告

  1)名人微博植入广告

  新浪微博的娱乐定位以及庞大的名人微博为企业提供了广告发布平台。走名人路线虽然缺乏创意但却稳妥。这些名人本身拥有大量粉丝 ,热衷于在微博上即时更新自己的状态 ,并且已经积攒了大量的人气 ,他们比普通微民具有更大的商业价值。名人微博广告的形式可以分为以下几种 :

  (1)首先 ,个人页面主题广告

  篇幅较大 ,更能引人注目 ,更加正式是这种广告形式的优点。这种广告即在名人微博页面加载主题模板 ,目前新浪博客的页面主题广告的发展就已经趋于成熟。 因为很多名人和微民在微博上互动积极 ,这其中以微博女王姚晨为代表 ,不仅获得了名气排行以及大量的关注量 ,还因为积极地互动拉近了名人与普通微民的距离。在这种积极的形势下 ,名人加载产品模板不仅不会使微民反感 ,反而因为互动获得了大量的关注 ,实现明星效应。

  (2)其次 ,明星可以作为意见领袖引导舆论导向

  名人可以经常曝光自己参加代言品牌活动的照片或者使用产品的心得 ,并且与粉丝们进行积极的互动。这种软广告能够轻而易举的吸引微民的注意并且没有做广告的嫌疑 ,明星的光环效应同时能够吸引微民广泛的购买和模仿 ,使微民成为实际购买者 ,从而推动了产品的销售。

  2)草根微民页面广告

  在中国 ,任何 SNS 的个人主页上都没有出现过广告 ,而twitter 早已涉足该领域。Twitter 允许用户在个人页面中插入广告从而获利。个人用户自己寻找广告主并与之协商 ,确定投放时间和所花费用 ,而 Twitter 只是作为中间人从中获取 5% 的服务费 ,这对于中国的微博市场具有积极的借鉴意义。草根微民的社会影响力虽然没有明星的社会影响力大 ,但却具有广泛的传播力。需要注意的是 ,微民的选择并不是随意的 ,而是要根据个人的微博影响力以及其兴趣、消费能力等基本信息来确定 ,从而确保其传播效力的最大化。

  第二,开通品牌社区(借鉴 twitter)

  有鉴于 Twitter 最开发的“品牌频道”,新浪微博可以在广场上开辟“品牌社区”,并对其进行分类 ,有偿邀请各类品牌进驻社区 ,进行人气排名 ;提供微博加载板块 ,品牌可以根据自己的需要选择加载。活动区发布活动相关信息 ,跟进活动进程 ;讨论区由管理人员发起讨论话题 ,积极互动 ;产品信息发布区及时发布产品相关信息 ;产品网购区和淘宝网品牌旗舰店合作 ,在官方微博网购区购买的产品都将由淘宝网旗舰店发货 ;建立(子)品牌专区 ,并链接子品牌官方微博 ;雇佣专业的网络管理员 ,加强微营销的专业性 ,并根据品牌不同时期的市场战略调整微博板块和内容。

  此外 ,还可以建立微群 ,由草根微民做群主 ,注意设置议题 ,引发讨论 ,引爆话题 ,引导舆论朝着有利于树立品牌形象的方向发展。


实例小结怎样做好网址导航站

  我是一名培训类学校网站的站长,我身边有一个朋友也是一位站长,但是他做的是网址导航站,刚开始的几天他兴致勃勃,一副网络霸者的姿态。但是,大家都知道,现在网址导航站是非常难做的,竞争那叫一个大,相当一部分站长,做过一段时间以后,使出浑身解数,流量也还是上不去,垂头丧气,于是纷纷下马,我那个朋友也是下马的其中一个。其实,做网站和任何类型的创业都是一样的,贵在坚持,贵在方法。失败不可怕,就怕失败了,就不在想成功。如何做好网址导航站呢?我朋友总结了很多他失败的原因,我们也曾在一起研究了很久,虽然,我知道网址导航站确实需要一定的实力,不管是经济还是技术。但是,我觉得除了这些更多的是一个站长的精神和梦想,这个是一个过程,而现在他的新站做的也还不错。于是,我也就在这里分享一下如何做好网址导航站。

  首先,一个站长应该明白,在新站没有上线的时候,自己应该做些什么事,心里一定要有一个全面的打算和计划。1.网站的前期准备和规划。在做网站的时候想清楚,自己的网址站是什么规模,是全国性还是地方性。2.想好自己网站的盈利模式。没有人愿意一直往网站投资,总得有盈利来支持网站的运营,如何盈利?3.网站的建设。一眼望去千篇一律,没有自己的特色,没有创新,如何去竞争呢,结果只有死路一条。

  其次,推广方式。这可能是也做网站的最复杂的一个阶段,网站推广的不好,产生不了流量,甚至无人问津,那也是死定了。所以,做推广时必要的。说几个正规专业的推广方法。1.以网站的名义多参加公益事业,让更多的人知道你的网站。2.一些基本的推广方法:软文、论坛、邮件、QQ、交换链接等。3.与其他网站合作,与当地企业合作。4.网站的创意活动达到宣传的效果。当然,说是说的简单,操作起来还是很难的。推广的方法得根据站长或者老板的实力来定。我朋友的网站是得到了一个老板的投资才能顺利做下来。

  最后,站长本身的能力。这里的能力包括了:网站的操作和本身计算机能力、对网络的执着和坚持、敢于创新敢于拼搏的精神。其实,这篇文章适合所有类型网站的站长,因为本来也是任何网站的操作模式都差不多,关键还是站长如何来操作。

  我相信,功夫不负有心人,只要有心就能做出最好的网站,加油。


医疗关键词BOLG推广操作战略

  相信做博客推广的医疗SEOER都会对新浪博客和39博客一定非常熟悉。

  1、新浪博客:排名非常可观,基本每个非热门词的关键词博客都能到首页露露脸。

  2、39博客:作为相关性最高的博客类型,医疗SEOER是又爱又恨,爱是唯一高相关性博客,恨是不能带链接。

  关于以上两个博客,追风小鱼就近段的博客推广总结以下几点:

  1、主关键词做博客:

  排名较难冲刺到首页。但保持主关键词博客的间歇性更新可以保持主关键词,随着准备百度更新爆发到首页。

  2、长尾关键词做博客:

  可以较快见效,长尾词的竞争页面多为分类信息,但是博客需要百度一小阶段的审核期,出现的问题分为博客均为被收录、博客首页被收录、博客文章被收录)

  3、博客平台情况:

  新浪博客可以短期快速排名,文章可以带链接锚文本,自主性强。博客可营销性装修

  39博客排名很慢,冲刺排名需要时间的沉淀即博客的年龄。文章一带链接即无法在前台显示,自主性很差。

  4、博客营销性装修:

  博客的营销性装修是最重要的,因为博客第一要有排名,而排名引进流量后,将流量转化到咨询或者引入站内是我们的最终目的。

  新浪博客:首页添加友情链接,咨询链接,医院简介等营销性内容填充。

  39博客:仅能在博客首页放上医院的纯文本网址和友情链接。

  5、博客更新规律:

  文章只求相关性,什么品牌关键词的文章一律不发。保持一天一篇或者两天一篇,时而三天一篇是比较合理的更新频率。刚开始不带超链接,随着博客的稳定,加上超链和锚文本是最终目的。可以以一周2-3条链接为基准。

  6、博客的排名:

  哪怕博客排名在第二页第一名,也还不是高兴的时候。必须上首页 而且最好拼前三名。

  道理很简单:就好比马拉松比赛,你尽全力跑到了距离终点只有1米的距离停下了。你也不会出现在领奖台上领不到完赛证书。而我们做博客就是除了为了链接传递权重,还有就是为了首页露脸。

  所以没有排名到首页的博客是没有及格的。

  我认为:如果一个SEOER负责发外链,在掌握了外链基本知识后,还没有发出及格和有效的外链,除了给互联网制造垃圾,同时也是没有在工作状态了,等于公司在白养一个没有工作效率的机器人。

http://zc.kvov.com.cn/jzxx35196.html

今日推荐知识库
语录
新科:dvd进入移动时代
心情签名
旅行是让生活暂时脱离常态的一场华丽冒险。在异地他乡周围只有陌生人和新鲜场景,你肆无忌惮卸下防备,艳遇、奇事便随之发生。你会惊奇地发现,原来体内竟然隐藏了另一个自己,疯狂正以你当初压制它十倍的力量拥抱这个陌生的环境。你瞬间领悟了人事变迁,旧日的悲恨情仇也就这么迅速淡忘了。
语录
今天考试,愿你能考出理想的成绩,不经历风雨,怎么能见彩虹!一定要相信,阳光总在风雨后,风雨之后一定会有彩虹!加油,我为你祝福!
经典语录
如果你是白云,我愿是风,到天空里去追你;如果你是红花,我原是绿叶,千紫万红中让你一眼就看见我;如果你是水,我愿是泥,与你凝固成一体,让你走不出我心里;如果你是红太狼,我原是灰太狼,天天给你捉小羊!
解梦
女人梦见孤零零地在沙漠中行走,预示因为自己的言行不当而会遭受损失。