<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?xml-stylesheet type="text/xsl" href="css/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>Sam网络技术博客</title><link>http://www.it314.com/</link><description>介绍和研究搜索引擎优化、网络编程、数据库优化、系统架构等技术!</description><generator>RainbowSoft Studio Z-Blog 1.8 Arwen Build 81206</generator><language>zh-CN</language><copyright>Copyright Sam www.it314.cn. Some Rights Reserved.  备案号:粤ICP备06061950号</copyright><pubDate>Thu, 11 Mar 2010 20:10:03 +0800</pubDate><item><title>获得优质外链的方法大全</title><author>a@b.com (liao)</author><link>http://www.it314.com/seo/337.html</link><pubDate>Sun, 07 Mar 2010 16:31:16 +0800</pubDate><guid>http://www.it314.com/seo/337.html</guid><description><![CDATA[<p>对于SEO来说，外部链接建设是最重要的工作之一，也是重中之重。关于如何寻找外链的话题和文章，也是层出不穷。但是目前互联网上已有的相关文章，基本上都不全，而且也没有说明这些方法的优劣及有效性，所以今天江礼坤就来把已知的增加外链的方法都整理一下，并且说明各自的优劣及注意事项。</p><p>1、友情链接<br />&nbsp;&nbsp;&nbsp;&nbsp; 友情链接是最好的外链方式，但是也不是说是个友情链接就优质，里面也是有些衡量的标准和技巧的。关于友情链接的技巧问题，以前写过专门的文章，所以就不再赘述了，大家要是有需要，可以参看《交换友情链接终极技巧大全》一文。如果大家找不到地方换，可以到推一把论坛的友情链接专区找链接，也可以到像go9go这样专门换友情链接的站找。</p><p>2、花钱购买<br />&nbsp;&nbsp;&nbsp;&nbsp; 花钱购买是最直接而有效的方法，也是最容易控制的方法。但是大家注意，不要去购买黑链、隐藏链等非正常链接。同时也要注意链接的质量，不要只盯着PR看，PR高不一定代表其链接就一定优质。具体标准，请参考第一条。</p><p>3、在论坛社区留外链<br />&nbsp;&nbsp;&nbsp;&nbsp; 对于既没有钱，又没有资源的新站来说，通过论坛留外链，是目前最主流的方法。但是在实际操作中，江礼坤发现很多误区，所以在这里强调三点注意事项。<br />&nbsp;&nbsp;&nbsp;&nbsp; A、签名里的外链与贴子里的外链，效果是一样的。所以大家不要放着签名不用，非要违反论坛规定，在贴子里留外链。像推一把论坛就是如此，在推一把论坛，签名是允许留链接的，而且有专门的广告外链区。而且这个区的权重非常高。但是很多会员偏不用这些合法的途径，非要在贴子里留一大堆链接。不管在那个论坛，这样做的后果只有两个：乐观一点的结果是被封号。严重的结果就是网址被对方永久屏蔽。<br />&nbsp;&nbsp;&nbsp;&nbsp; B、论坛内的外链，属于内容页的链接。这种链接的权重是很低很低的，所以想靠这种链接来提升网站的权重或是关键字的排名，那就需要量非常大才行。注意，这里说的量大，是指发外链的目标论坛要多，而不是指在同一个论坛里大量的发链接。这个大家一定要搞清楚。当然，同一个论坛也不是说发过一个外链贴就OK了，也需要经常发。比如说同一个论坛，一周发个三五个链接就OK，个人感觉一天一条足矣。<br />&nbsp;&nbsp;&nbsp;&nbsp; C、论坛链接也要细水长流的做，不要忽多忽少。比如今天发了几百上千条外链。然后就不发了，这样搞，就像葛优大爷的脑袋一样，优化的太明显了。搜索引擎闭着眼都知道是咂回事。<br />&nbsp;&nbsp;&nbsp; 在这里送大家一个好东东，江礼坤曾经整理过一篇《可以免费发广告外链的论坛列表》，大家可以到江礼坤的博客去瞅瞅。</p><p>4、通过博客留链接<br />&nbsp;&nbsp;&nbsp;&nbsp; 就在昨天晚上，有一位朋友在推一把论坛提问，说他网站刚上线，权重很低，通过在大平台开博客的方式来优化网站可行不可行。其实呢，答案是肯定可行的。通过在新浪、SOHU、百度等大博客平台开通博客的方式来带动网站也是一个非常好的思路。但是前提是，要先把这些博客的权重搞起来才行。而且博客的数量要非常大才行。一般想通过这个方式带动网站，就需要先把这些博客至少养半年，要每天去给这些博客更新文章。所以说这个方法呢，比较麻烦，耗时的时间和精力也比较多，但是一旦把这些博客的权重养高，回报也是非常丰厚的。</p><p>5、在百科类网站留链接<br />&nbsp;&nbsp;&nbsp;&nbsp; 个人不推荐这个方法。因为百科内的外链，也属于文章内容页的链接，这类链接的权重都很低。前面咱们也说了，想通过内容链页的链接提高权重，就需要目标站很多才行。但是百科类的站，国内就这么几家，而且百科站审核的是比较严的，不是说想留就能留上的。所以通过这种方法留外链，效果有限，顶多是变相的去做关键词排名。因为在百度搜索一些名词时，百度百科的词条得了会排在前面。所以对于没有能力去做关键词排名的朋友，可以考虑用这个方法曲线救国。</p>]]></description><category>Seo优化</category><comments>http://www.it314.com/seo/337.html#comment</comments><wfw:comment>http://www.it314.com/</wfw:comment><wfw:commentRss>http://www.it314.com/feed.asp?cmt=337</wfw:commentRss><trackback:ping>http://www.it314.com/cmd.asp?act=tb&amp;id=337&amp;key=4bf35173</trackback:ping></item><item><title>清除SQL被注入script恶意病毒代码的语句。</title><author>a@b.com (liao)</author><link>http://www.it314.com/DateBase/336.html</link><pubDate>Sun, 07 Mar 2010 16:22:52 +0800</pubDate><guid>http://www.it314.com/DateBase/336.html</guid><description><![CDATA[<p>在SQL查询分析器执行以下代码就可以了。</p><ol>    <li class="alt"><span><span class="keyword">declare</span><span>&nbsp;@t&nbsp;</span><span class="keyword">varchar</span><span>(255),@c&nbsp;</span><span class="keyword">varchar</span><span>(255) &nbsp;</span></span></li>    <li><span class="keyword">declare</span><span>&nbsp;table_cursor&nbsp;</span><span class="keyword">cursor</span><span>&nbsp;</span><span class="keyword">for</span><span>&nbsp;</span><span class="keyword">select</span><span>&nbsp;a.</span><span class="keyword">name</span><span>,b.</span><span class="keyword">name</span><span>&nbsp; &nbsp;</span></li>    <li class="alt"><span class="keyword">from</span><span>&nbsp;sysobjects&nbsp;a,syscolumns&nbsp;b&nbsp;,systypes&nbsp;c&nbsp; &nbsp;</span></li>    <li><span class="keyword">where</span><span>&nbsp;a.id=b.id&nbsp;</span><span class="op">and</span><span>&nbsp;a.xtype=</span><span class="string">'u'</span><span>&nbsp;</span><span class="op">and</span><span>&nbsp;c.</span><span class="keyword">name</span><span>&nbsp; &nbsp;</span></li>    <li class="alt"><span class="op">in</span><span>&nbsp;(</span><span class="string">'char'</span><span>,&nbsp;</span><span class="string">'nchar'</span><span>,&nbsp;</span><span class="string">'nvarchar'</span><span>,&nbsp;</span><span class="string">'varchar'</span><span>,</span><span class="string">'text'</span><span>,</span><span class="string">'ntext'</span><span>) &nbsp;</span></li>    <li><span class="keyword">declare</span><span>&nbsp;@str&nbsp;</span><span class="keyword">varchar</span><span>(500),@str2&nbsp;</span><span class="keyword">varchar</span><span>(500)&nbsp; &nbsp;</span></li>    <li class="alt"><span class="keyword">set</span><span>&nbsp;@str=</span><span class="string">'<span style="color: #ff0000">&lt;script&nbsp;src=http://r01.3322.org/c.js&gt;&lt;/script&gt;</span>'</span><span>/*要替换的内容*/ &nbsp;</span></li>    <li><span class="keyword">set</span><span>&nbsp;@str2=</span><span class="string">''</span><span>&nbsp; &nbsp;</span></li>    <li class="alt"><span class="keyword">open</span><span>&nbsp;table_cursor&nbsp; &nbsp;</span></li>    <li><span class="keyword">fetch</span><span>&nbsp;</span><span class="keyword">next</span><span>&nbsp;</span><span class="keyword">from</span><span>&nbsp;table_cursor&nbsp; &nbsp;</span></li>    <li class="alt"><span class="keyword">into</span><span>&nbsp;@t,@c&nbsp;while(@@fetch_status=0)&nbsp; &nbsp;</span></li>    <li><span class="keyword">begin</span><span>&nbsp;</span><span class="keyword">exec</span><span>(</span><span class="string">'update&nbsp;['</span><span>&nbsp;+&nbsp;@t&nbsp;+&nbsp;</span><span class="string">']&nbsp;set&nbsp;['</span><span>&nbsp;+&nbsp;@c&nbsp;+&nbsp;</span><span class="string">']=replace(cast(['</span><span>&nbsp;+&nbsp;@c&nbsp;+&nbsp;</span><span class="string">']&nbsp;as&nbsp;varchar(8000)),'</span><span class="string">''</span><span>+@str+</span><span class="string">''</span><span class="string">','</span><span class="string">''</span><span>+&nbsp;@str2&nbsp;+</span><span class="string">''</span><span class="string">')'</span><span>) &nbsp;</span></li>    <li class="alt"><span class="keyword">fetch</span><span>&nbsp;</span><span class="keyword">next</span><span>&nbsp;</span><span class="keyword">from</span><span>&nbsp;table_cursor&nbsp; &nbsp;</span></li>    <li><span class="keyword">into</span><span>&nbsp;@t,@c&nbsp;</span><span class="keyword">end</span><span>&nbsp;</span><span class="keyword">close</span><span>&nbsp;table_cursor&nbsp;</span><span class="keyword">deallocate</span><span>&nbsp;table_cursor;&nbsp;</span></li></ol><p>首先替换代码里面的&lt;script src=http://r01.3322.org/c.js&gt;&lt;/script&gt;也就是红色部分为你的数据库表里面被注入的内容，打开MSSQL的SQL查询分析器执行以下代码就可以了</p>]]></description><category>数据库优化</category><comments>http://www.it314.com/DateBase/336.html#comment</comments><wfw:comment>http://www.it314.com/</wfw:comment><wfw:commentRss>http://www.it314.com/feed.asp?cmt=336</wfw:commentRss><trackback:ping>http://www.it314.com/cmd.asp?act=tb&amp;id=336&amp;key=7481e755</trackback:ping></item><item><title>百度是如何做搜索引擎产品</title><author>a@b.com (liao)</author><link>http://www.it314.com/seo/335.html</link><pubDate>Sun, 07 Mar 2010 14:42:57 +0800</pubDate><guid>http://www.it314.com/seo/335.html</guid><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2010年1月12日上午8时50分，百度的首页被不明黑客攻击，用户点击百度主页，发现被指向一个阿拉伯文字的黑屏网站，据说是伊朗网军的页面。</p><p>　　百度的新任CTO李一男估计这回要接受上任以来最严峻的考验了，到目前为止（2010年1月12日上午11时32分），百度页面仍未能正常进入。而作为中国流量最高的网站，竞然到目前为止竟然没有一个发布他们自己官方消息的平台。</p><p>　　在这里分享一篇&ldquo;程序员&rdquo;的文章《百度产品经理探秘：需求把握和正确决策》，在这个时候回看这篇文章，真是意味深长。原文如下：</p><p>　　国内互联网公司里，百度的产品一向为人称道。尤其是其搜索引擎的周边产品，比如百科、知道、贴吧等一系列产品。在不少资深互联网用户和专家眼中，这些产品应该是搜索引擎的标准配置。然而到底是什么让百度能够规划和设计出这么多优秀的产品，为什么他的竞争对手在这些领域根本无法与其匹敌？我们邀请百度的产品经理亲自为我们揭开谜底。</p><p>　　任何一个产品人员，要理清产品的分析和决策思路，首先要弄清楚什么是产品。产品的核心价值，是用户使用该产品的终极奥义。例如军大衣和比基尼都是用来穿的，但是前者的核心价值是御寒，后者的核心价值是性感。手机虽然变化多端，但核心价值是语音沟通，所以如果通话音质不行的话，这个手机再炫再酷，也会被用户舍弃。</p><p>　　互联网产品也是同样道理。很多产品在外表看起来是一样的，但是如果深挖的话，用户为什么要用？最根本的好处是什么？答案是非常迥异的。例如一个是百度知道，另一个假设是在线购物网站的疑难问答平台，产品形式可以相似，但本质完全不同。前者的核心价值在于&ldquo;让人们更便捷的获取信息，找到所求&rdquo;，而后者则应该是一种高效的在线客服手段。这个本质差异就导致了很多要点和细节上的产品决策差异。</p><p>　　所以对一个产品进行分析之前，首要问题，便是弄清楚用户为什么要用这个产品，它带给用户最根本的好处是什么。</p><p>　　要解答这样一个问题，并不容易，很多失败的产品在一开始就没弄明白用户用它的理由，注定了后面的失败。在产品研发前，百度搜索引擎产品人员首先要解答这个问题。</p><p>　　百度产品决策原则</p><p>　　搜索引擎产品部门在招聘产品人员时，应聘人员尤其是对互联网充满热情的学生常常积极地抛出自己的各种想法，却没有仔细分析为什么做？该不该做？</p><p>　　外界也常常有人提出一些疑问，为什么百度不做这个产品？为什么百度不做那个产品？</p><p>　　在《李彦宏的百度世界》里，阐述过百度的产品决策原则：&ldquo;无论百度推出什么产品，总是遵循三个原则：有需求、有优势、有收益。&rdquo;</p><p>　　首先是需求导向。无论是客户需求还是用户需求，归根到底都是需求。先有需求，才再有动作。借用一个经典小故事，有两个卖鞋的人去岛屿上开拓市场，一个回来后跟老板说：&ldquo;那里没有市场，根本没有人穿鞋。&rdquo;另一个回来后跟老板说：&ldquo;那里市场可大了，大家都还没有鞋。&rdquo;这个问题如果放在产品决策上，应先问需求，先摸清楚对于这群用户来说，他们穿鞋的好处、不穿鞋的好处，再决定下一步。</p><p>　　其次，在有效满足需求方面，我们有无优势。用户体验是一个完整的过程，对于用户的终极需求的满足，才是真正有价值的。</p><p>　　&ldquo;视频搜索&rdquo;这个想法在搜索引擎产品部很早就有考虑和接触，但早期互联网资源非常有限，资源的下载是一个致命的瓶颈，搜索做得再好，对用户最终获取并观看这个视频并无多大的帮助，因此当时没有介入；到了后期，由于专业视频分享网站的兴起，用户视频体验得到了巨大的提升，且资源众多，从用户搜索关键词里很容易能发现大量视频搜索需求，百度在搜索方面的优势能为找视频的用户提供更多更好的便利，而网页搜索通用搜索解决方案并不能完全满足视频搜索的特殊需求，因此视频搜索诞生的时机到了。后续经过产品设计、产品研发，成为一款大量用户使用的搜索产品就是顺理成章的事情了。</p><p>　　最后是要符合百度使命，专注于搜索，增强公司的核心竞争力，才能保持旺盛的生命力，并且推动搜索领域更深远的发展。现在大家看到，百度网页搜索、MP3搜索、图片搜索、知道、贴吧、百科等每一款产品都拥有庞大的用户群，并互相关联、互相促进&mdash;&mdash;这并不是偶然现象，也不是百度为了整合产品而做的整合，而是它们的诞生恰恰就是为了有效地满足用户需求的，它们本身构成了搜索引擎的整体架构，也是百度最核心的产品竞争优势。</p><p>　　产品的创新思路</p><p>　　为什么要创新？李彦宏说过，&ldquo;创新的目的是为了更好地满足需求，不为创新而创新&rdquo;。产品和技术部每天都在进行着创新的尝试，但新技术、新功能、新概念只是工具或手段，产品设计更关注&ldquo;为什么创新&rdquo;。</p><p>　　百度产品体系的重大创新是搜索社区，百度的贴吧、知道、百科、空间等，构建了一个完整的搜索社区体系，我们回顾一下当年贴吧上线时首页的那句话：互联网上的信息，和人脑中的信息相比，只是沧海一粟&mdash;&mdash;百度过去几年的经验证明，类似贴吧这样的搜索社区模式，在将人们的隐性知识转化为显性知识，并借以提升搜索引擎的核心价值方面，是极其成功的。所以，贴吧是一个伟大的创新，相对全球而言更是独一无二的，而贴吧所代表的搜索社区的产品创新模式和不懈实践探索，更是百度对搜索领域做出的杰出创新贡献。</p><p>　　有些人认为横空出世的东西才是创新，只有推倒重来的东西才是创新，但是不要忽略一点，有些创新是&ldquo;润物细无声&rdquo;的，有些创新是细节的，但它们至关重要，同样推动着某一领域的进步。</p><p>　　比如在图片搜索领域，很多人都会觉得以图搜图、颜色筛选、人脸识别这些内容识别技术看起来很新颖，认为只有提供了这样的功能才是创新。在百度产品部的图片搜索组，早期几乎每一位新同事都对这些服务好奇，但经过了一段时间的用户行为分析和思考，才能理解使用筛选功能并不一定是有效解决用户问题的最好方法，应用各种用户需求识别技术、图片识别技术优化搜索结果排序，将用户更需要的图片直接排列在用户的眼前，这也是重要&ldquo;润物细无声&rdquo;创新。</p><p>　　对产品的正确决策</p><p>　　产品经理或产品设计师的责任就是保证产品的成功，从产品的决策到产品是否能符合预期地完成开发上线，当然最核心的是在前期需求，解答一个产品为什么做和做成什么样子。</p><p>　　产品人员在把握产品决策原则的基础上，要有敏锐的洞察力，要能作出正确的判断，还得具备两个必要条件。</p><p>　　第一，他自己就是产品的忠实的用户。百度产品部门的每位同事，对互联网应用充满热情和兴趣，主动地成为相关产品领域最熟练的一线用户，带着真实的使用目的，能和用户站在一起，而不是带着审视检查的角度，后者往往当局者迷，不能洞悉真正的需求。比如贴吧的产品人员在学生时代不是骨灰级论坛潜水者就是知名论坛的风云人物；网页搜索的某位产品人员搜索引擎爱好者，进入百度前就热衷于发现各种搜索引擎妙用。</p><p>　　第二，他必须能站在大多数普通用户的角度去思考问题。百度产品部门不要求任何专业背景、技术背景，只要你能精确地把握和尊重普通用户的体验，在这一点上的要求近乎苛刻。你不能因为你懂得各种搜索技巧，就期望普通网民像你一样。当设计常用功能时，这样的思考是被拒绝的：&ldquo;如果用户不明白，可以去看帮助文档&rdquo; &ldquo;这个问题用快捷键去解决&rdquo;&hellip;&hellip;而实际上面临的判断要难得多。</p><p>　　当然，搜索引擎作为信息获取的入口点，汇集千千万万网民的需求和使用习惯，百度的产品人员更能通过直接的数据来分析用户的行为，从他们比较集中的搜索请求中发现产品问题和产品诉求。这也是制胜的法宝之一。</p><p>　　有很多不明白互联网产品工作的人问：&ldquo;怎么保证你的想法是客观的？&rdquo;&ldquo;怎么保证你需要的就是大众需要的？&rdquo;面对这样的问题，很容易让人想到去做调研，调研的方法很容易让人想到是问卷调查。但实际上，产品设计和改进的很多方面是你没法通过直接问用户得到你想要的答案的，就像你没法通过直接询问用户的每一次搜索需要什么来指导搜索结果更准确。其实，用户实际的行动已经实实在在地告诉了产品人员，比他自己说得更多、更真。当互联网产品的用户群体达到一定规模，他们的行为数据具备统计意义时，会比纯粹的市场调研行为更加可靠和直接，那是非常珍贵的财富。</p><p>　　举个例子，我们通过用户行为的数据分析，发现网页搜索的用户行为与图片搜索的用户行为不一样：网页搜索的用户大多有特定目标，我们帮助这些用户快速地找到他想要的那条搜索结果以完成这次搜索，比如某某版本软件下载；而图片搜索很大比例的用户并无特定目标，他想欣赏一组图片搜索结果，比如某个旅游城市。这个时候，对每个图片搜索结果都要一一点击，打开新窗口不适应连续浏览体验，于是我们在搜索结果打开的模式上做了改进，这里面也有大量的数据分析，来决定什么样的模式对全体用户的总收益是最大的。</p>]]></description><category>Seo优化</category><comments>http://www.it314.com/seo/335.html#comment</comments><wfw:comment>http://www.it314.com/</wfw:comment><wfw:commentRss>http://www.it314.com/feed.asp?cmt=335</wfw:commentRss><trackback:ping>http://www.it314.com/cmd.asp?act=tb&amp;id=335&amp;key=7e21d26f</trackback:ping></item><item><title>Linux配置Web服务器</title><author>a@b.com (liao)</author><link>http://www.it314.com/other/334.html</link><pubDate>Sun, 07 Mar 2010 14:02:51 +0800</pubDate><guid>http://www.it314.com/other/334.html</guid><description><![CDATA[<p>Linux操作系统近几年有了蓬勃的发展，在整个世界范围内得到了越来越多公司和团体的支持，尤其是最近IBM公司的鼎力支持，更是使Linux服务器如虎添翼，更上一层楼。而在国内，Linux的应用也是方兴未艾，众多公司已经投入到Linux系统的研发和推广工作中。一些优秀的Linux操作系统相继出现，比如红旗Linux等。但是我国的Linux应用水平还很低，熟悉Linux的人员严重缺乏，Linux专业人才的缺乏已成为Linux在国内应用和普及的瓶颈问题。据《开放系统世界》2003年第八期介绍，中国五年内Linux人才需求量将会超过120万。而&ldquo;1+1+1&rdquo;工程的实施，也是间接地告诉我们这个问题的严重性。如此大好时机，我们干吗还愣着不动呢！如果你是一位Linux爱好者，你可能已经掌握了基本的Linux的知识与操作，毫无疑问，你并不会去满足这样小小的成就。Linux为何如此的流行？其最大的特点莫过于功能强大，性能稳定的服务器应用了。像WWW,MAIL,FTP,DNS和SMB等。在这篇文章中，我将以Redhat Linux 9为蓝本，从Web服务器的一些最基本的操作入手，从初学者使用的态度，让读者正确充分的认识Apache。好，现在就让我们一起踏上征服Apache的自由之路吧。</p><p><strong>第一站 Apache的历史与前景</strong></p><p>1995年，美国国家计算机安全协会（NCSA）的开发者创建了NCSZ全球网络服务软件，其最大的特点是HTTP精灵程序，它比当时的CERN服务器更容易由源码来配置和创建，又由于当时其他服务器软件的缺乏，他很快流行起来。但是后来，该服务器的核心开发人员几乎都离开了NCSA，一些使用者们自己成立了一个组织来管理他们编写的补丁，于是Apache Group应运而生。他们把该服务器软件称为Apache。Apache源于A patchy server的读音，意思是充满补丁的服务器。如今Apache慢慢地已经成为Internet上最流行的Web服务器软件了。在所有的Web服务器软件中，Apache占据绝对优势，远远领先排名第二的Microsoft IIS。如果你对它感兴趣，你可以访问Apache的官方网站：http://www.apache.org。Apache作为自由软件之一，像其他自由软件一样，他们都是由许许多多的自由开发人员投入了大量的时间和精力来实现并逐步完善的，所以我们有理由相信Apache的发展前景会更好。</p><p><strong>第二站 Apache 2.0的安装　</strong>　</p><p>Apache 2.0的配置与安装和Apache 1.3的有很大的不同，他像其它的开源软件一样，使用libtool和autoconf来配置环境。但不管是Apache几通常都有两种安装方式：源代码安装和RPM包安装。这两种安装类型各有特色，RPM包安装不需要编译，而源代码安装则需要先配置编译再安装，RPM包安装在一个固定的位置下，选择固定的模块，而源代码安装则可以让你选择安装路径，选择你想要的模块。下面分别以实例的形式来介绍两种类型的安装方法。</p><p>一，使用源代码安装</p><p>(1) 获得源代码</p><p># lynx http://www.apache.org/dist/httpd/httpd-2_0_NN.tar.gz</p><p>NN表示当前所用的版本号。</p><p>(2) 解压缩</p><p># gzip -d httpd-2_0_NN.tar.gz</p><p># tar xvf httpd-2_0_NN.tar　</p><p>(3) 配置.</p><p># ./configure --prefix= /usr/local/apache</p><p>表示Apache将安装在/usr/local/apache目录下</p><p>(4) 编译与安装</p><p># make</p><p># make install</p><p>(5) 测试</p><p># /usr/local/apache/bin/apachectl start</p><p>二，使用RPM包安装</p><p># rpm &mdash;ivh apache-*.rpm</p><p>完成安装后，配置文件在/etc/httpd/conf/目录下，文件根目录为/var/www/html,工具文件在/etc/rc.d/init.d/目录下，日志文件在/var/log/httpd/目录下。</p><p>第三站 Apache 2.0的配置</p><p>Apache 2.0的主配置文件为httpd.conf。如果以上述源代码安装则配置文件保存在/usr/local/apache/conf/目录下，若以RPM包方式安装则配置文件保存在/etc/httpd/conf/目录下。我们可以直接修改httpd.conf文件也可以用redhat linux 9自带的图形化工具来配置。打开启动程序-&gt;系统设置-&gt;服务器设置-&gt;HTTP服务器，可以进行相关。主界面如图：</p><p>下面我们来看一下httpd.conf中的几条指令,&ldquo;#&rdquo;后加入了注释说明。</p><p>Port 80 #定义了web服务器的侦听端口，默认值为80，它是TCP网络端口之一。若写入多个端口，以最后一个为准。</p><p>User apache #一般情况下，以nobody用户和nobody组来运行web服务器，因为web</p><p>Group apache # 服务器发出的所有的进程都是以root用户身份运行的，存在安全风险。　</p><p>ServerAdmin root@localhost #指定服务器管理员的E-mail地址。服务器自动将错误报告到该地址。　</p><p>ServerRoot /etc/httpd #服务器的根目录，一般情况下，所有的配置文件在该目录下</p><p>ServerName new.host.name:80 #web客户搜索的主机名称</p><p>KeepAliveTimeout 15 #规定了连续请求之间等待15秒，若超过，则重新建立一条新的TCP连接　</p><p>MaxKeepAliveRequests 100 #永久连接的HTTP请求数</p><p>MaxClients 150 #同一时间连接到服务器上的客户机总数</p><p>ErrorLog logs/error_log #用来指定错误日志文件的名称和路径</p><p>PidFile run/httpd.pid #用来存放httpd进程号，以方便停止服务器。</p><p>Timeout 300 #设置请求超时时间，若网速较慢则应把值设大。</p><p>DocumentRoot /var/www/html #用来存放网页文件</p><p><strong>第四站 Apache的管理</strong></p><p>(1) 启动和停止Apache</p><p>/etc/rc.d/init.d/httpd start</p><p>/etc/rc.d/init.d/httpd stop</p><p>(2) Apache的日志文件</p><p>有人说判定一个管理员是否优秀之一就是看他是否是一个分析日志的能手，因为从日志文件中获取的反馈信息对管理员来说是相当重要的。Apache的日至文件主要包括访问日志和错误日志。访问日志记录了该服务器所有的请求的过程，主要记录的是客户的信息，通过它我们可以知道什么人访问了该网站，什么时候访问的，访问的内容是什么等等。错误日志则是记录了服务器出错的细节和如何处理等。日志文件的位置是由上述主配置文件httpd.conf来规定的。Redhat中有一个查看日志的工具&mdash;&mdash;系统日志。其主界面如下</p><p>下面各举一个例子来说明他的格式：</p><p>错误日志的写法：</p><p>[Mon sep 22 14:32:52 2003] [error] [client 127.0.0.1] client denied by server configuration: /export/home/live/ap/htdocs/test</p><p>[Mon sep 22 14:32:52 2003] 错误发生的时间。</p><p>[error] 表示错误的级别。有debug,info,notice,warn,error,crit,alert,emerg，这些级别由低到高表示了错误的严重性。</p><p>[client 127.0.0.1] 表示客户端IP地址。</p><p>client denied by server configuration: /export/home/live/ap/htdocs/test 标是错误的具体信息。</p><p>访问日志的写法：</p><p>127.0.0.1 - wangdong [22/sep/2003:13:55:36 -0800] &quot;GET /apache_pb.gif HTTP/1.0&quot; 200 2326</p><p>127.0.0.1 表示访问这台服务器的客户端IP地址。</p><p>Wangdong 表示用户的登录名。</p><p>[22/sep/2003:13:55:36 -0800] 服务器完成客户端请求的时间，格式为[日/月/年：小时：分钟：秒 时区]</p><p>&quot;GET /apache_pb.gif HTTP/1.0&quot; 表示客户端访问该资源所使用的方法。</p><p>200 记录的是服务器返回给客户的状态码。200表示成功，以4打头的表示访问出错。</p><p>2326 表示发给客户端的总字节数。若是&ldquo;&mdash;&rdquo;表示没有找到访问资源。</p><p>但在实际应用中，对于大型网站，日志文件往往增长的很快，不利于我们查询，降低服务器的效率，而且占用大量的磁盘空间，所以我们必须对日志进行定期的维护。</p><p>既然日志文件很大，那么我们如何把一大堆枯燥的数据整理成容易让我们看懂的形式呢？有没有这样的工具呢？非常幸运，在redhat linux 9中自带了一个分析日志的工具&mdash;&mdash;webalizer,如图：</p><p>我们也可以在网上找到大量这样优秀的免费的工具，例如：WebTrends Analysis Series。</p><p><strong>第五站 配置虚拟主机　</strong>　</p><p>虚拟主机是在一台www服务器上为多个单独的域名提供www服务，每个域名具有自己的目录和配置，相当于将一台主机分为多台主机，虚拟主机技术对于主机数量不足，但又想为不同的用户提供独立的Web服务的需求非常有效。而对于一个公司，利用价格昂贵的服务器只提供一种域名服务，似乎是不明智的，而现在越来越多的公司喜欢在一台服务器上使用多个域名服务，架设不同的网站，这样做的好处是显而易见。</p><p>Apache有两种方式支持虚拟主机，一种是基于IP的虚拟主机，另一种是基于名字的虚拟主机。基于名字的虚拟主机使用相同的IP地址来配置不同的虚拟主机，这就弥补了因IP地址不足而带来的问题。基于名字的虚拟主机的配置相当简单，你只需配置你得DNS服务器使每个主机名对应正确的IP地址，然后再配置Apache HTTP Server使它能认识不同的主机名就可以了。</p><p>假设我们组建了一家多媒体制作公司，有一台Apache服务器和一个IP地址：192.168.0.1 要运行两种业务，一种为电子商务网站，域名为www.business.media.com ，另一种为教学网站，域名为www.teaching.media.com 。先在DNS服务器中把域名www.business.media.com和www.teachin....conf就可以了。</p><p>NameVirtualHost 192.168.0.1</p><p>&nbsp;</p><p>ServerName www.business.media.com</p><p>DocumentRoot /var/www/html/business</p><p>&nbsp;</p><p>&nbsp;</p><p>ServerName www.teaching.media.com</p><p>DocumentRoot /var/www/html/teaching</p><p>&nbsp;</p><p>而基于IP的虚拟主机则要求使用不同的IP地址来区别不同的虚拟主机，这就要求使用多块网卡，把不同的IP地址捆绑到不同的网卡上，或者在一块网卡上捆绑多个IP地址。假设我们主机的IP地址为192.168.0.1（www.media.com）,另外有两个IP地址别?..nf/httpd.conf。[/url]</p><p>&nbsp;</p><p>ServerAdmin webmaster@ business.media.com</p><p>DocumentRoot /var/www/html/business</p><p>ServerName www.business.media.com</p><p>ErrorLog /var/www/html/business/logs/error_log</p><p>TransferLog /var/www/html/business/logs/access_log</p><p>&nbsp;</p><p>&nbsp;</p><p>ServerAdmin webmaster@teaching.media.com</p><p>DocumentRoot /var/www/html/teaching</p><p>ServerName www.teaching.media.com</p><p>ErrorLog /var/www/html/teaching/logs/error_log</p><p>TransferLog /var/www/html/teaching/logs/access_log</p><p><strong>第六站配置Apache代理</strong></p><p>代理服务器是网络信息服务的中转站。如果我们把Apache代理服务器形象地比喻成代理商的话，消费者向代理商购买东西时，如果代理商有的话，可直接卖给消费者，若没有，则代理商向厂家进货，再卖给消费者。这样做有以下几点好处：（1）提高了访问速度。（2）充当防火墙，增加了安全性。（3）可以过滤一些不良网站。（4）具有缓存功能。（5）节省IP开销。代理服务器可分为两种类型：客户端代理和服务器端代理。下面我们在讲解几个指令后举例说明各自的配置方法。</p><p>ProxyRequest On/Off #启用或者禁用Apache代理服务。</p><p>CacheRoot &quot;/etc/httpd/proxy&quot; #代理缓存的根目录。</p><p>CacheSize 5 #代理缓存的大小。</p><p>CacheGcInterval 4 #设定运行管理缓存的无用数据搜集程序的时间间隔</p><p>CacheMaxExpire 24 #文件过期时间。</p><p>CacheDefaultExpire 1 #指定未包含过期信息文件的有效期。</p><p>NoCache a-domain.com another-domain.edu #该网站的文件将不被缓存。</p><p><strong>l 客户端代理的配置</strong></p><p>（1） 修改/etc/httpd/conf/httpd.conf中的相关指令</p><p>（2） 修改/etc/httpd/conf/httpd.conf,添加对代理目录的访问控制。</p><p>&nbsp;</p><p>Order deny,allow</p><p>Deny from all</p><p>Allow from .your-domain.com</p><p>&nbsp;</p><p>（3） 重启httpd。</p><p>l 服务器端代理的配置</p><p>服务器端代理与客户端代理不同，它是在防火墙上安装Apache服务器，使用它提供对WWW服务器的代理访问。这种方法把WWW服务器与外部隔开，提高了安全性，而对用户来说，好像没有变化一样。假设在内部局域网中WWW服务器的IP地址为192.168.0.2，防火墙主机内部IP地址为192.168.0.5，外部IP地址为192.9.202.1。</p><p>(一) 配置防火墙上的Apache</p><p>(1) 在/etc/httpd/conf/httpd.conf中添加虚拟主机。</p><p>&nbsp;</p><p>ServerAdmin webmaster@business.media.com</p><p>DocumentRoot /www/docs/business.media.com</p><p>ServerName www.business.media.com</p><p>ErrorLog logs/business.media.com-error_log</p><p>CustomLog logs/business.media.com-log_common</p><p>(2) 配置局域网中的DNS服务器，把www.business.media.com指向192.9.201.1。</p><p>(二) 配置局域网内部WWW服务器</p><p>在Linux环境下，有一个非常流行的代理服务器软件&mdash;&mdash;Squid。他的功能非常的强大，支持HTTP,FTP,Gopher,SSL,和WAIS等协议的代理，而且设置简单，只需再配置文件中稍稍改动就可以了。</p><p>好了，WWW服务器配置这条路总算走完了，笔者希望读过此文章的人能够有所收获，最后，希望在学习Linux这条充满乐趣而又布满荆棘的路上的爱好者们，永不言败，成为真正的高手</p>]]></description><category>其它</category><comments>http://www.it314.com/other/334.html#comment</comments><wfw:comment>http://www.it314.com/</wfw:comment><wfw:commentRss>http://www.it314.com/feed.asp?cmt=334</wfw:commentRss><trackback:ping>http://www.it314.com/cmd.asp?act=tb&amp;id=334&amp;key=8c028fae</trackback:ping></item><item><title>Linux下安装PHP开发环境</title><author>a@b.com (liao)</author><link>http://www.it314.com/other/333.html</link><pubDate>Sun, 07 Mar 2010 13:59:26 +0800</pubDate><guid>http://www.it314.com/other/333.html</guid><description><![CDATA[<p>Ubuntu娱乐功能已经非常不错，无非是看看电影，听听歌，玩玩小游戏。接下来研究下Ubuntu下安装zend，google一下还真是有Zend for Linux，于是下载了下来，下面就将我的安装配置过程图文并茂地展示给大家：</p><p>第一步当然是解压zip，解压出来一个 bin 格式的安装文件， cp到我的用户目录home/ibm中，在终端地直接输入./ZendStudio-5_5_1.bin，安装便自动安装（需要jre支持，我已经提前安 装过了，安装命令是：sudo apt-get install sun-java6-jre sun-java6-jdk），过不了多久，便开始了界面安装，见图：</p><p><a target="_blank" href="http://blog.wutongs.com//attachment.php?id=16"><img border="0" alt="大小: 266.78 K尺寸: 500 x 375浏览: 70 次点击打开新窗口浏览全图" width="500" height="375" src="http://www.okajax.com/uploads/allimg/081204/0722260.png" /></a></p><p>和Windows下的安装界面一样，一路NEXT即可。</p><p>安装完毕后，打开软件，查看了下软件信息，发现软件许可到期时间是2008年12月3日，也就是一个月时间的试用期；在编码区输入汉字，发现全是口口（乱码），见图：</p><p><a target="_blank" href="http://blog.wutongs.com//attachment.php?id=17"><img border="0" alt="大小: 160.37 K尺寸: 500 x 375浏览: 0 次点击打开新窗口浏览全图" width="500" height="375" src="http://www.okajax.com/uploads/allimg/081204/0722261.png" /></a></p><p>&nbsp;</p><p>不急，一个一个解决它！首先要破解软件许可日期，在网上找到了一个在线生成zend studio序列号的网站，网址：<a href="http://www.zendstudio.net/libs/zendstudio5_5_1-keymaker-php/" target="_blank">http://www.zendstudio.net/libs/zendstudio5_5_1-keymaker-php/</a></p><p>然后就是解决中文乱码问题，网上有一个不错的解决办法：</p><p>1. 创建文件夹fallback<br /><span style="display: none">:R!k h+z#O8V,T8N</span><br /><span style="display: none">;{ F&quot;l&amp;Z+C$u</span>mkdir zend安装目录/ZendStudio-5.5.1/jre/lib/fonts/fallback<br /><span style="display: none">9q i$J6f1}8F8`#|(c</span><br /><span style="display: none">%c&quot;w*o5x;i8E5A2p</span>2. 复制字体simsun.ttc（WINDOWS系统的Fonts目录下面有这个字体） 到fallback后名字为simsun.ttf<font style="color: rgb(255,255,255); font-size: 0px">程序开发，操作系统，服务器，源码下载，Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛5x8t&amp;C;I:X#g0d)m</font><br /><font style="color: rgb(255,255,255); font-size: 0px">程序开发，操作系统，服务器，源码下载，Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛'U0F#q2l6X(p#i&amp;A</font><br />cp simsun.ttc zend安装目录/ZendStudio-5.5.1/jre/lib/fonts/fallback/simsun.ttf<font style="color: rgb(255,255,255); font-size: 0px">TechWeb-技术社区!b%u$?/X.n.\3[.W-p</font><br /><font style="color: rgb(255,255,255); font-size: 0px">tech.techweb.com.cn5[*L#A2{;s)M9o%O</font><br />从新启动Zend，乱码问题解决了，见图：</p><p><a target="_blank" href="http://blog.wutongs.com//attachment.php?id=18"><img border="0" alt="大小: 159.62 K尺寸: 500 x 375浏览: 1 次点击打开新窗口浏览全图" width="500" height="375" src="http://www.okajax.com/uploads/allimg/081204/0722262.png" /></a></p><p>OK，Zend Studio安装好了，开始工作！</p>]]></description><category>其它</category><comments>http://www.it314.com/other/333.html#comment</comments><wfw:comment>http://www.it314.com/</wfw:comment><wfw:commentRss>http://www.it314.com/feed.asp?cmt=333</wfw:commentRss><trackback:ping>http://www.it314.com/cmd.asp?act=tb&amp;id=333&amp;key=d6483e94</trackback:ping></item><item><title>磁盘阵列RAID0、RAID1、RAID5的区别</title><author>a@b.com (liao)</author><link>http://www.it314.com/other/332.html</link><pubDate>Sun, 07 Mar 2010 13:55:30 +0800</pubDate><guid>http://www.it314.com/other/332.html</guid><description><![CDATA[<p><strong>RAID 0：无差错控制的带区组&nbsp;</strong></p><p>要实现RAID0必须要有两个以上硬盘驱动器，RAID0实现了带区组，数据并不是保存在一个硬盘上，而是分成数据块保存在不同驱动器上。因为将数据分布在不同驱动器上，所以数据吞吐率大大提高，驱动器的负载也比较平衡。如果刚好所需要的数据在不同的驱动器上效率最好。它不需要计算校验码，实现容易。它的缺点是它没有数据差错控制，如果一个驱动器中的数据发生错误，即使其它盘上的数据正确也无济于事了。不应该将它用于对数据稳定性要求高的场合。如果用户进行图象（包括动画）编辑和其它要求传输比较大的场合使用RAID0比较合适。同时，RAID可以提高数据传输速率，比如所需读取的文件分布在两个硬盘上，这两个硬盘可以同时读取。那么原来读取同样文件的时间被缩短为1/2。</p><p><strong>RAID 1：镜象结构&nbsp;</strong></p><p>对于使用这种RAID1结构的设备来说，RAID控制器必须能够同时对两个盘进行读操作和对两个镜象盘进行写操作。通过下面的结构图您也可以看到必须有两个驱动器。因为是镜象结构在一组盘出现问题时，可以使用镜象，提高系统的容错能力。它比较容易设计和实现。每读一次盘只能读出一块数据，也就是说数据块传送速率与单独的盘的读取速率相同。因为RAID1的校验十分完备，因此对系统的处理能力有很大的影响，通常的RAID功能由软件实现，而这样的实现方法在服务器负载比较重的时候会大大影响服务器效率。当您的系统需要极高的可靠性时，如进行数据统计，那么使用RAID1比较合适。而且RAID1技术支持&ldquo;热替换&rdquo;，即不断电的情况下对故障磁盘进行更换，更换完毕只要从镜像盘上恢复数据即可。当主硬盘损坏时，镜像硬盘就可以代替主硬盘工作。镜像硬盘相当于一个备份盘，可想而知，这种硬盘模式的安全性是非常高的，但带来的后果是硬盘容量利用率很低，只有50%，是所有RAID级别中最低的。</p><p>虽然RAID 0可以提供更多的空间和更好的性能，但是整个系统是非常不可靠的，如果出现故障，无法进行任何补救。所以，RAID 0一般只是在那些对数据安全性要求不高的情况下才被人们使用。</p><p>RAID 1和RAID 0截然不同，其技术重点全部放在如何能够在不影响性能的情况下最大限度的保证系统的可靠性和可修复性上。RAID 1是所有RAID等级中实现成本最高的一种，尽管如此，人们还是选择RAID 1来保存那些关键性的重要数据。</p><p>RAID 1又被称为磁盘镜像，每一个磁盘都具有一个对应的镜像盘。对任何一个磁盘的数据写入都会被复制镜像盘中;系统可以从一组镜像盘中的任何一个磁盘读取数据。显然，磁盘镜像肯定会提高系统成本。因为我们所能使用的空间只是所有磁盘容量总和的一半。下图显示的是由4块硬盘组成的磁盘镜像，其中可以作为存储空间使用的仅为两块硬盘(画斜线的为镜像部分)。</p><p style="text-align: center">&nbsp;<img style="border-bottom-color: #000000; border-top-color: #000000; border-right-color: #000000; border-left-color: #000000; cursor: pointer" onclick="javascript:window.open(this.src);" border="1" onload="return imgzoom(this,600);" alt="" src="http://www.okajax.com/uploads/allimg/091229/1245415538-0.jpg" /></p><p>RAID 1下，任何一块硬盘的故障都不会影响到系统的正常运行，而且只要能够保证任何一对镜像盘中至少有一块磁盘可以使用，RAID 1甚至可以在一半数量的硬盘出现问题时不间断的工作。当一块硬盘失效时，系统会忽略该硬盘，转而使用剩余的镜像盘读写数据。</p><p>通常，我们把出现硬盘故障的RAID系统称为在降级模式下运行。虽然这时保存的数据仍然可以继续使用，但是RAID系统将不再可靠。如果剩余的镜像盘也出现问题，那么整个系统就会崩溃。因此，我们应当及时的更换损坏的硬盘，避免出现新的问题。 　　更换新盘之后，原有好盘中的数据必须被复制到新盘中。这一操作被称为同步镜像。同步镜像一般都需要很长时间，尤其是当损害的硬盘的容量很大时更是如此。在同步镜像的进行过程中，外界对数据的访问不会受到影响，但是由于复制数据需要占用一部分的带宽，所以可能会使整个系统的性能有所下降。</p><p>因为RAID 1主要是通过二次读写实现磁盘镜像，所以磁盘控制器的负载也相当大，尤其是在需要频繁写入数据的环境中。为了避免出现性能瓶颈，使用多个磁盘控制器就显得很有必要。下图示意了使用两个控制器的磁盘镜像。</p><p style="text-align: center"><img style="border-bottom-color: #000000; border-top-color: #000000; border-right-color: #000000; border-left-color: #000000; cursor: pointer" onclick="javascript:window.open(this.src);" border="1" onload="return imgzoom(this,600);" alt="" src="http://www.okajax.com/uploads/allimg/091229/1245411024-1.jpg" /></p><p>使用两个磁盘控制器不仅可以改善性能，还可以进一步的提高数据的安全性和可用性。我们已经知道，RAID 1最多允许一半数量的硬盘出现故障，所以按照我们上图中的设置方式(原盘和镜像盘分别连接不同的磁盘控制)，即使一个磁盘控制器出现问题，系统仍然可以使用另外一个磁盘控制器继续工作。这样，就可以把一些由于意外操作所带来的损害降低到最低程度。</p><p><strong>RAID 0+1</strong></p><p>单独使用RAID 1也会出现类似单独使用RAID 0那样的问题，即在同一时间内只能向一块磁盘写入数据，不能充分利用所有的资源。为了解决这一问题，我们可以在磁盘镜像中建立带区集。因为这种配置方式综合了带区集和镜像的优势，所以被称为RAID 0+1。</p><p><strong>RAID5：分布式奇偶校验的独立磁盘结构&nbsp;</strong></p><p>从它的示意图上可以看到，它的奇偶校验码存在于所有磁盘上，其中的p0代表第0带区的奇偶校验值，其它的意思也相同。RAID5的读出效率很高，写入效率一般，块式的集体访问效率不错。因为奇偶校验码在不同的磁盘上，所以提高了可靠性。但是它对数据传输的并行性解决不好，而且控制器的设计也相当困难。RAID 3 与RAID 5相比，重要的区别在于RAID 3每进行一次数据传输，需涉及到所有的阵列盘。而对于RAID 5来说，大部分数据传输只对一块磁盘操作，可进行并行操作。在RAID 5中有&ldquo;写损失&rdquo;，即每一次写操作，将产生四个实际的读/写操作，其中两次读旧的数据及奇偶信息，两次写新的数据及奇偶信息。</p>]]></description><category>其它</category><comments>http://www.it314.com/other/332.html#comment</comments><wfw:comment>http://www.it314.com/</wfw:comment><wfw:commentRss>http://www.it314.com/feed.asp?cmt=332</wfw:commentRss><trackback:ping>http://www.it314.com/cmd.asp?act=tb&amp;id=332&amp;key=bb29c075</trackback:ping></item><item><title>巩固网站排名的方法</title><author>a@b.com (liao)</author><link>http://www.it314.com/seo/331.html</link><pubDate>Sun, 07 Mar 2010 12:10:11 +0800</pubDate><guid>http://www.it314.com/seo/331.html</guid><description><![CDATA[<p>网站优化的目的就是为了在搜索引擎中获得一个好的排名，从而达到获得更多的潜在客户或流量的目的，要的就是一个转化率，很多的站长历尽千辛万苦把自己的网站优化到了一个比较理想的位置。稳定和巩固排名的最好办法，就是不断提升用户和搜索引擎对你的信念。</p><p><font face="Verdana">&nbsp;&nbsp;&nbsp; 一、应用正规的SEO伎俩,保持白帽伎俩,不要应用黑帽等作弊伎俩操作,那样的伎俩排名很容易下去的.</font></p><p><font face="Verdana">&nbsp;&nbsp;&nbsp; 二、保持网站的更新,不要因为网站的排名上去了,就不天天更新网站了,蜘蛛是对照嗜好新鲜的东西的,要定期的给网站输入新鲜的血液.</font></p><p><font face="Verdana">&nbsp;&nbsp;&nbsp; 三、不要轻易的修正网站标题,特别是在一个月内多次修正,这是非常不好的,要特别注意哦,标题确定后尽量少做修正.</font></p><p><font face="Verdana">&nbsp;&nbsp;&nbsp; 四、保持外部链接的长期性,很多人在网站没有排名的时候到处找链接,到网站排名上去的时候就把别人的链接去掉了,这是很不好的行动,换链接需要注意的一点是：不要认为一个网站的PR值高就是好,和一个pr2的站链接,有时候比一个pr5的更有效果.</font></p><p><font face="Verdana">&nbsp;&nbsp;&nbsp; 五、保证服务器的稳固性,这点非常首要,服务器是网站正常运行的后盾,不要贪图便宜而购置便宜的不稳固的空间,更换服务器也需要注意,新服务器IP是否被惩罚过,网上有很多工具可以查询的,可以找一找</font></p>]]></description><category>Seo优化</category><comments>http://www.it314.com/seo/331.html#comment</comments><wfw:comment>http://www.it314.com/</wfw:comment><wfw:commentRss>http://www.it314.com/feed.asp?cmt=331</wfw:commentRss><trackback:ping>http://www.it314.com/cmd.asp?act=tb&amp;id=331&amp;key=7897a07c</trackback:ping></item><item><title>我们怎么样定位网络营销的方向</title><author>a@b.com (liao)</author><link>http://www.it314.com/web/330.html</link><pubDate>Sun, 07 Mar 2010 12:05:27 +0800</pubDate><guid>http://www.it314.com/web/330.html</guid><description><![CDATA[<p><font face="Verdana">&nbsp;&nbsp; 企业网站的规划，将更加深入地挖掘客户需求，甚至是一些隐性需求，通过差异化的服务，将客户吸引过来。这就需要对</font><a href="http://www.kingar.com/"><font face="Verdana">网络营销</font></a><font face="Verdana">方向进行定位。<br />&nbsp;&nbsp;&nbsp; 所谓营销方向的定位就是指你所要推广的企业或者产品是属于哪一个范畴的。面对海量的网站群，网站要想让客户停留，易用性将成为企业网站成功的重要因素。网站规划不仅应考虑设计和功能，更应从用户的使用习惯和使用流程上进行深入调研，不断改进网站的易用性，使得网站真正贴合用户的使用习惯。根据不同行业、不同产品的特点，企业的电子商务经营模式将进一步细分，产品的展示、销售、服务、配送等等环节将进一步差异化、完善化，企业为客户提供的服务，也将更加快捷和便利。<br />&nbsp;&nbsp;&nbsp; 随着企业营销意识的增加，企业网站不再是孤立的，单一的。企业网站将与企业网下的营销活动密切配合，并有效与网下活动形成互补。例如，企业网下的路演、促销等活动，可以在网站上同步进行宣传推广。同时，在网下活动中吸引到的人气，又可以将其转化为网上的客户。现在，EMAIL营销、博客营销、论坛营销、病毒营销等等营销手段将被深入应用，企业网站推广将进入新的层次。<br />&nbsp;&nbsp;&nbsp; 众所周知论坛主要有两类一类是大而全的综合性论坛另一类是深而精的专业性论坛，每一个论坛都有它的发展方向和定位，即使是做横向发展的综合性论坛它也有它的重点版块。抓住这个论坛的主要用户群体与自己所推广的产品和服务相结合，研究一下你的信息在这个论坛上发布有没有价值，或者说有没有回报。 根据专家观察，这样的理论和现象都是值得各位站长深思的。<br />&nbsp;&nbsp;&nbsp; 企业网站不仅在于吸引新客户，更是企业与客户持续沟通、联络的平台。通过企业网站上的客户数据，企业可以有针对性地开展数据库营销，与客户保持长期的联络，并为客户提供定制化的产品和资讯，从而有效维护与客户的情感。</font></p>]]></description><category>网站开发</category><comments>http://www.it314.com/web/330.html#comment</comments><wfw:comment>http://www.it314.com/</wfw:comment><wfw:commentRss>http://www.it314.com/feed.asp?cmt=330</wfw:commentRss><trackback:ping>http://www.it314.com/cmd.asp?act=tb&amp;id=330&amp;key=1761ed4c</trackback:ping></item><item><title>博客未必是网络营销的财富之路</title><author>a@b.com (liao)</author><link>http://www.it314.com/web/329.html</link><pubDate>Sun, 07 Mar 2010 12:03:54 +0800</pubDate><guid>http://www.it314.com/web/329.html</guid><description><![CDATA[<p><font face="Verdana">　 如果将网络作为营销工具，那么就要弄清楚网络的种种优势，成本、速度、多样性，图文影声并茂的</font><a href="http://www.kingar.com/"><font face="Verdana">网络营销</font></a><font face="Verdana">工具要比单一的电邮、网站或者网络广告要更有效果。但是，博客门未必是网络营销的财富之门。<br />&nbsp;&nbsp;&nbsp; 不久前看过一个案例，法国某个葡萄酒生产商通过向法国博客赠酒获得口碑，再通过口碑来扩大销售，获得了良好的社会和经济效应。而这个案例如果放在国内却值得商榷。国内博客，特别是名人博客有些是枪手来写的，枪手也许会有想尝尝葡萄酒的冲动，可枪手却不一定会热衷于写酒后感，弄不好葡萄酒厂就肉包子打狗了。如果不想肉包子打狗那么必须要对博客公关，中国的博客多数并不像法国博客那么浪漫，甚至十分现实，他们的名气是有价格的，其成本是一般小企业接受不了的。目前国内网络营销的博客现象主要集中在通过提升个人知名度来提升企业知名度，如三一重工的向文波博客。<br />&nbsp;&nbsp;&nbsp; 博客营销是一种营销方法，是把博客做为营销工具，博客营销做为网络营销的手段之一，有着其它网络营销方法无法比拟的优势，但优势在大，对于博客营销的个体，也应该有一个判断的标准，而且这个标准应该贯穿整个博客营销过程的始终，这样会避免我们为了博客而博客，用博客营销的效果标准来指导我们的博客活动会让你的博客营销活动始终围绕着利于自己的生意来展开，会让你的博客营销活动走的更健康，会让你的博客营销更有侧重点，而不会为了简单的流量所迷惑，会让你的博客营销活动真正解决你为什么要经营博客的问题。<br />&nbsp;&nbsp;&nbsp; 博客营销做为一种网络营销手段，它的最终目的是为了通过博客营销最大限度地获利，博客营销做为网络营销手段之一，不管采取什么样的方式，都要投入一定的人力，财力，要投入相当的时间和精力，在一定的投入下你获利了吗，你的投入和获利成正比吗，你的获利具有持续性吗？这些都是值得我们博客营销人经常考虑的问题。</font></p>]]></description><category>网站开发</category><comments>http://www.it314.com/web/329.html#comment</comments><wfw:comment>http://www.it314.com/</wfw:comment><wfw:commentRss>http://www.it314.com/feed.asp?cmt=329</wfw:commentRss><trackback:ping>http://www.it314.com/cmd.asp?act=tb&amp;id=329&amp;key=0f2c0646</trackback:ping></item><item><title>oracle最常用的命令</title><author>a@b.com (liao)</author><link>http://www.it314.com/DateBase/328.html</link><pubDate>Sun, 28 Feb 2010 13:28:58 +0800</pubDate><guid>http://www.it314.com/DateBase/328.html</guid><description><![CDATA[<p>1：开启服务： <br />OracleServiceACCP和OracleOraHome92TNSListener <br />2：在运行中启动sqlplus&nbsp;进入Oracle编辑窗口 <br />3：开辟表空间： <br />Create&nbsp;tablespace&nbsp;空间名 <br />DataFile&nbsp;&lsquo;e:控件名.dbf&rsquo;size&nbsp;10M &nbsp;空间存放盘及空间的大小 <br />Autoextend&nbsp;on 空间为可增长的 <br />/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;提交 <br />4：创建用户： <br />Create&nbsp;user&nbsp;用户名 <br />Identified&nbsp;by&nbsp;用户密码 <br />Default&nbsp;tablespace空间名 指定该用户的表空间 <br />/ <br />5：给用户授权： <br />Grant&nbsp;connect,resource&nbsp;to&nbsp;用户名； <br />从1至5都属管理员操作。 <br />6：用户登录： <br />Conn&nbsp;用户名/用户密码； <br />7：创建表： Create&nbsp;table&nbsp;表名（列名&nbsp;数据类型，列名&nbsp;数据类型）； <br />8：向表中添加数据： <br />Insert&nbsp;into&nbsp;表名&nbsp;values(参数1，参数2); <br />从6至8属于创建表用户的操作 <br />用system/manager管理员从新登录创新一个新的用户； <br />然后再次登录创建表的用户，给新创建的用户授予操作原用户创建表的操作权限：grant&nbsp;select&nbsp;on&nbsp;表名&nbsp;to&nbsp;新创建用户名； <br />再次用新创建用户登录进行查询操作： <br /><br />9：&nbsp;clear&nbsp;screen&nbsp;&nbsp;清屏 <br />10：利用现有的表创建一张新表 <br />Create&nbsp;table&nbsp;新表名&nbsp;as&nbsp;select&nbsp;*/或者是现有表中的某一列或多列&nbsp;from&nbsp;现有表名；同时还可限定条件： <br />如：create&nbsp;table&nbsp;book&nbsp;as&nbsp;select&nbsp;*&nbsp;from&nbsp;bookItems&nbsp;where&nbsp;name=&rsquo;王者归来&rsquo;; <br />11：给用户授权限 <br />Grant&nbsp;select&nbsp;on&nbsp;表名&nbsp;to&nbsp;所要授予的用户名； <br />-----允许用户查询该表的记录 <br />Grant&nbsp;update&nbsp;on&nbsp;表名&nbsp;to&nbsp;所要授予的用户名； <br />-----允许用户更新该表的记录 <br />Grant&nbsp;all&nbsp;on&nbsp;表名&nbsp;to&nbsp;所要授予的用户名； <br />-----允许用户插入，删除，更新，查询该表的记录 <br />12：更改删除用户 <br />修改用户密码： <br />Alter&nbsp;user&nbsp;用户名&nbsp;identified&nbsp;by&nbsp;新密码； <br />删除用户： <br />Drop&nbsp;user&nbsp;用户名； <br />13：给表创建主键 <br />Alter&nbsp;table&nbsp;表名&nbsp;add&nbsp;constraint&nbsp;pk_列名&nbsp;primary&nbsp;key(列名)； <br />或者&nbsp;alter&nbsp;table&nbsp;表名&nbsp;add&nbsp;constraint&nbsp;pri_列名&nbsp;primary&nbsp;key(列名)； <br />14：删除表 <br />Drop&nbsp;table&nbsp;表名； <br />15：删除表中数据 <br />Delete&nbsp;from&nbsp;表名； <br />16：给两张表添加主外键约束 <br />Alter&nbsp;table&nbsp;表名&lt;外键&gt;&nbsp;add&nbsp;constraint&nbsp;frk_外键&nbsp;foreign&nbsp;key(外键)&nbsp;references&nbsp;表名(主键) <br />例：alter&nbsp;table&nbsp;books&nbsp;add&nbsp;constraint&nbsp;frk_id&nbsp;foreign&nbsp;key(id)&nbsp;references&nbsp;bookStyle(styleId); <br /><br />17：创建范围分区(在创建标的同时创建分区) <br />例如: <br />Create&nbsp;table&nbsp;表名(列名&nbsp;类型，列名&nbsp;类型，列名&nbsp;类型) --创建表 <br />Partition&nbsp;by&nbsp;range(分区依据的列名) <br />（ <br />Partition&nbsp;分区名1&nbsp;values&nbsp;less&nbsp;than(条件)； <br />Partition&nbsp;分区名2&nbsp;values&nbsp;less&nbsp;than(条件)； <br />） <br />18：在最后一个分区之后插入一个分区 <br />Alter&nbsp;table&nbsp;表名&nbsp;add&nbsp;partition&nbsp;分区名&nbsp;values&nbsp;less&nbsp;than(maxvalue); <br />19：合并分区 <br />&nbsp;将分区2和1合并，（只能将小的合并到大的里边） <br />Alter&nbsp;table&nbsp;表名&nbsp;merge&nbsp;partitions&nbsp;分区名1，分区名2&nbsp;into&nbsp;partition&nbsp;分区名2； <br />20：删除表分区 <br />Alter&nbsp;table&nbsp;表名&nbsp;drop&nbsp;partition&nbsp;分区名 <br />删除该分区中的所有数据 <br />21：截断表分区 <br />Alter&nbsp;table&nbsp;表名&nbsp;truncate&nbsp;partition&nbsp;分区名 <br />保留该分区，但不能对该分区进行操作。 <br /><br />22：创建共有同义词时需要赋予用户&nbsp;grant&nbsp;create&nbsp;public&nbsp;synonym&nbsp;to&nbsp;用户名； <br />访问共有同义词需要有访问共有同义词的权限，共有同义词可以被任何人访问（必须有访问权限）,当共有同义词的名词与似有同义词名字相同时私有的将覆盖共有的，用户只能访问到私有的同义词。 <br /><br />23：创建序列 <br />1）Create&nbsp;sequence&nbsp;序列名 <br />2）Start&nbsp;with&nbsp;起始序列号 --指定起始序列号 <br />3）Increment&nbsp;by&nbsp;序列号之间的间隔数 --指定序列号之间的间隔数 <br />4）Maxvalue&nbsp;最大序列号数 --【指定序列号的最大数值】 <br />5）Minvalue&nbsp;最小序列号数 &nbsp;&nbsp;--指定序列号的最小值【根据具体情况创建】 <br />6）Nocycle&nbsp;&nbsp; --【在达到最大序列值后停止生成下一个值】 <br />7）Cache&nbsp; 分配的序号数 --【指定内存中预先分配的序号数】 在创建序列的时候1，2是必须添加的。其余的可根据条件进行添加。 <br />一个序列可以用在多个列上，也可以用在不同的表对象中。 <br />一个表中可以有多个序列 <br />当删除表中的数据时，该数据对象中的序列号也被删除（序列不能自动填充被删除的序列号） <br />序列的使用： <br />例如：insert&nbsp;into&nbsp;表名&nbsp;values(序列名.nextval，&lsquo;列值&rsquo;)； <br />24：查找序列当前值 <br />Select&nbsp;序列名.currval&nbsp;from&nbsp;dual； <br />25：修改序列（不能更改序列的start&nbsp;with&nbsp;参数） <br />Alter&nbsp;sequence&nbsp;序列名 序列属性&nbsp;属性参数&nbsp;cycle； <br />26：删除序列 <br />Drop&nbsp;sequence&nbsp;序列名；</p>]]></description><category>数据库优化</category><comments>http://www.it314.com/DateBase/328.html#comment</comments><wfw:comment>http://www.it314.com/</wfw:comment><wfw:commentRss>http://www.it314.com/feed.asp?cmt=328</wfw:commentRss><trackback:ping>http://www.it314.com/cmd.asp?act=tb&amp;id=328&amp;key=71eb2dee</trackback:ping></item></channel></rss>
