页面静态化-笔记图解_第1页
页面静态化-笔记图解_第2页
页面静态化-笔记图解_第3页
页面静态化-笔记图解_第4页
页面静态化-笔记图解_第5页
免费预览已结束,剩余24页可下载查看

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大型提速关键技术(页面静态化、memcached、Mysql优化大型关键技术介pv值(pageviews),量大流量 *2m->解决方案买带宽,优化程序(处理对程序的架构重新设计.->服务器集群示意图数据量大->10亿记录分表技术(垂直分割,水平分割)c.d.e.mysql配置优化(调整最大并发量,定时对数据库碎片整理,备份crontab)f.硬件升级)缓存技术静态:比 url称为静 特点:1.利用seo(searchengineoptimization)搜索引擎优化2.速度快3.防止sql注*11288 fromuserswhereif($pwd===从数据库中取出的//说明用户错误}址:比如,即,的是一个PHP页面,可以传入参数.称为之.特点:1.不利用SEO2.速度慢3.有被注入sql可伪静态:在实际开发中,我们希望达到这样目的,把下面的 上面的,我们称为伪静态特点:1.利用SEO2.防止注入3.他要数据库,速度没有变从方式看(1.2.伪静态从范围看(1.2.局部静态化介绍一款测试压力的工具ab.exe 该工具程序是apache自带的,大家在工作中可以使用该工具来测试自己的并发量大小,和某个页面的时间基本用法,进入到cmdab.exe–n的总次数 有多少人(并发量)的页面举例说明ab.exe–n10000–c100–c1000apache瘫痪.apache的最大并发量.MPM(多路处理模块,即apache采用怎样的方式来处理并发.),主要有三种方式perforkworker 这个一般说是windows采用的.apache,步骤如下httpd.conf#Server-poolmanagement(MPM确定当前的apahceMPM模式进入到apache/binhttpd.exe说明:看mpm_xxx.c如果xxx是winnt说明是 ,另外还可能是perfork或httpd-mpm.conf文件<IfModulempm_winnt_module> apahcelinuxMPMperfork模式,我们看看如何配置<IfModule55# #worker更用给大家一个合理的建议配置.对大部分,中型,配置<IfModule #用于修改apacheMaxRequestsPerChild如果你的pv值百#用于修改apache最后有一个关于html和php的效率图seo技巧如果一个希望杯<imgalt=’小狗在前台,我们建议不要使用frame框架,不利用PHP先说明一下OB缓存的机制.ob1.php代码:ob的各个用法->项目中ob2.php代码,说明了浏览器缓存存在说明:在php5.2这个版本在php.ini有一个配置output_buffering ☞如何打开obphp.inioutput_buffering②直接在程序中使用ob缓存机制,完成一个简单的管理系统-页面静态化(目标是实现全站静态化)做的页面createtableidintunsignedprimarykeyauto_increment,/*id,做成自增*/titlevarchar(128)notnulldefault‘’,/*标题*/contentvarchar(256)notnulldefault‘’,/*内容filenamevarchar(32)notnulldefault‘’/*将来这个对应静态页面)engine=MyISAMcharset测试数据insertintonews(title,content)values('o1','你好');insertintonews(title,content)values('o2','你好 思路是:当第一人查看某个时,我们就生成一个对应的静态页面,当后面的人在查看,newsList.php代码cms(内容管理系统,,软件发布,文章管理)内容就固定不变,我们不能接受.①我设一个超时,30s,3030秒,就更新一把.思路:图addnews.htmlnewsAction.php思考题①请大家完成更新的这个页面静态处newsList.php也做成一个静态页面.->任务是:把管理系统的首页面也静态化.CMS系统的示意图:对我们的管理系统首页静态思考:我们能不能再添加后,就直接静态化首页面,如果你的确希望只要首页的内容<formaction="newsAction.php" 内 <tr><td><inputtype="submit"value添加"/></td><td><inputtype="reset"value重新填写<inputtype='hidden'name='oper'//oper}$sql="insertintonews//echo$sql;//把占位符替换掉->}include"newsList.php";}}else}else}//这里可以使用工具类完成.}$sql="select*from echo"<h1>列表</h1>";echo"<table>"; id'.$row['id'].'.html">查看详情</a></td><td><ahref="#">修改页面</a></td></tr>';}echo//ob优点:1.利用SEO2.速度快.3.防止sql注缺点1.html文件,占用磁盘空间,如果你把所有的静态页,都放 url来替apache自带的rewrite看需求实现思路str函数,来进行分割处理->代码是echo"<pre>";echo"</pre>";入门①子表达式③反向jsphppreg_matchpreg_match_all函数结果的说明[0]=>111-575-[1]=>[2]=>)如果使用的是preg_match$res[0]$reg[1]$reg[n]就是第njs中,可以在php,c++也我们编程中,我建议大家.再涉及到用户输入数据的程序中应当加入正则验证.,在客户jsphp特殊的说明patternpatterpattern)=patternpattern)(?:pattern)非捕获匹配(?:pattern)pattern但不获取匹配结果,也就是说这是一个非获取匹配,不进行供以后使用。这在使用"或"字符(|)来组合一个模式的各个部分是很有用。例如,'industr(?:y|ies)就是一个比'industry|industries'更简略的表达式。(?!pattern)pattern的字符串开始处匹配查找字符串。这是一个"Windows3.1""Windows""Windows2000""Windows"可以看环视.htm把关于正则的案例content.php//33458900//\d//$reg://$str://$res:找出的结果放在$res//preg_match//preg_match_all//正则规范的格式:/规范 //\d1://{3}3//xxx-yyy-zzz这种规则的内容,//xxx-yzy-xxx这种规则的内容, ////1.必须有//2.@前面是a- 或者A-Z或者_字//3.sina和//4.必须.com或者://(sina|)表示出现sina或者//\.出现.本身,如果不转义.匹配除了\n//$.不带echo"是电子邮件";echo不是}echo"<pre>";echo"</pre>";课堂小练习作业给你一个字符串$str=“jakfdl,韩顺平走码$str="abckjdfaakldsfj你好897abd张 汉字的utf-8编码的范围\x4e00-"echo"<pre>";echo"</pre>";echo字母有".count($res2[0])."个";echoechoecho$arr[2];出题:我给出一个字符串“我要要学学学php”换成”在实际开发中,我们实现伪静态,用的的还是rewrite机制,但是他是以正则技术比 url步骤开始rewrite模块,在默认情况下,没有启用httpd.conf文件#rewriteLoadModulerewrite_module<?phphttpd.conf#Virtualhttpd-Root <Directoryhostsip这时我们一个重要的知识点在apache服务器中,如果某个文件夹,没有指定权限,则以上级 #Orderallow,deny表示先看allowdeny,留下的就是可以Orderdeny,allowDenyfromallowfrom关于<Directory>节点配置必须掌握Root <DirectoryC:/myenv/apache/htdocs/static2">#Allowfrom #indexesnone#OptionsindexesDirectoryIndexabc.htmlerror404/404.html#配置我们的rewrite规则RewriteEngineOn#rewriteaaa.htmlnews.php#$1表示反向,第一个子表达式的内容 特别说明:rewrite模块思考:httpd-vhost.文件,但管理员不给你这个权限,怎么办思路:.htaccess文件第二种配置方式:http-vhost.conf文件,把rewriteRoot <DirectoryC:/myenv/apache/htdocs/static2">#Allowfrom #indexesnone#OptionsindexesDirectoryIndexabc.htmlerror404#如果你配置了allowoverrideall这表示到对应 的.htaccess去匹配规allowoverride.htaccess<IfModulerewrite_module>#rewrite模块启用#配置我们的rewriteRewriteEngine#rewriteaaa.htmlnews.php#$1表示反向,第一个子表达式的内容RewriteRulenews-([a-zA-Z]+)-id(\d+)\.html$ #RewriteRuleaaa.html 请注意:.htaccess文件的配置也是继承管理Root <Directory#如果你配置了allowoverrideall这表示到对应 的.htaccess去匹配规allowoverride.htacces#Allowfromall #indexesnone#OptionsindexesDirectoryIndexabc.htmlerror404<IfModulerewrite_module>#rewrite模块启用#配置我们的rewriteRewriteEngine#rewriteaaa.htmlnews.php#$1表示反向,第一个子表达式的内容RewriteRulenews-([a-zA-Z]+)-id(\d+)\.html$ #RewriteRuleaaa.html 在一个项目中有两个文件夹,public和private,public文件夹的可以被所有人.private只能自己.请问如何实现.第一个方法是.publicprivate.htaccessprivate访问public文件都可以private.htaccessOrderdeny,allowdenyfromallowfromapahce的另外一个虚拟主机请求.,另外不能精细化控制,于是我们就换了一个思路使用http的referer头信息搞定这个防盗链需求.第二方法.在private<ifModuleRewriteEngine你怎么知道这个请求就是 发来的.referer#如果你请求的是一个jpg,就RewriteCond%{HTTP_REFERER}RewriteRule.*\.jpg-[F]RewriteCond<ifModuleRewriteEngine你怎么知道这个请求就是 发来的.referer#如果你请求的是一个jpg,就RewriteCond%{HTTP_REFERER}#RewriteCond%{REQUEST_FILENAME}!-fRewriteRule.*\.jpg-[F]练练配置虚拟主机 你的名 [欢迎页面/404/rewritepublicprivatepublic可是不一定走一遍30min404的说明ie浏览器而言,404512b如果你在<Directory>节点配置了OptionsIndexes,同时你有启用了rewriteEngineOn你会看到403的禁用提示.,原因是因为我们的父级 的Options本身就配好,OptionsIndexes 的 下,我们编写了.htaccess文件,并增加规# ind

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论