Tag: 服务器预览模式: 普通 | 列表
    在配置web服务器的时候,我们经常遇到这样的问题,由于某些原因,该服务器只能拥有一个公网IP,但是可能需要提供其他机器或者本机上其他webserver的服务器给访问者,同时又不希望使用其他端口,如果在linux下,常见的解决方案是使用nginx作为前端server,通过反向代理间接访问其他webserver.在IIS7之前,在windows上要实现该功能却不是一件容易的事情,但是在IIS7上,通过Application Request Routing模块,我们可以轻松实现反向代理.    本次测试配置的情况,简单起见,只在iis中测试,配置3个网站,第一个”LevenWeb”,使用80端口提供服务,第二个”levenblog”,下面运行着levenblog2.0.9,使用8080端口,第三个”phpweb”,下面有一个”test.php”的phpinfo页面(iis7 php配置本文不再详述),本机ip:192.168.1.8,为了测试,我们先进行域名绑定,也就是在leven.com.cn下新增3个子域名,域名绑定如下图所示:

查看更多...

Tags: IIS 服务器

分类:网络点滴 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 6210

iis7.5使用url rewrite识别useragent的方法

前段时间因为网站需要找了下通过rewrite识别用户代理的方式,因为网上关于iis7所使用的url rewrite资料比较少,这里留一篇日志,以便后查,代码如下
引用内容 引用内容
<rewrite>
          <rules>
            <rule name="Forbidden" stopProcessing="true">
              <match url="^.*\.(jpg|png)$" />
              <conditions logicalGrouping="MatchAny">
                <add input="{HTTP_USER_AGENT}" pattern="^.*(firefox|chrome).*" />
              </conditions>
              <action type="Rewrite" url="xxx.htm" />
            </rule>
          </rules>
</rewrite>

<match url="^.*\.(jpg|png)$" />
这句为进行判断的文件后缀
<add input="{...

查看更多...

Tags: 服务器 IIS

分类:网络点滴 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 5193

在IIS7.5中神秘的应用程序池标识

在windows2008R2新版的IIS7.5里面,我绝对除了对php更好的支持以外,最重要的一个功能应该就是“应用程序池标识”了,这是什么东西?我从网上找了篇比较不错的使用介绍,在blog里面做一份存档,以备自己需要的时候查询使用。
IIS7.5中(仅win7,win2008 SP2,win2008 R2支持),应用程序池的运行帐号,除了指定为LocalService,LocalSystem,NetWorkService这三种基本类型外,还新增了一种ApplicationPoolIdentify

win7的官方帮助上是这么说的:ApplicationPoolIdentity – 默认情况下,选择“应用程序池标识”帐户。启动应用程序池时动态创建“应用程序池标识”帐户,因此,此帐户对于您的应用程序来说是最安全的。
也就是说"ApplicationPoolIdentity"帐号是系统动态创建的“虚拟”帐号(说它是虚拟的,是因为在用户管理里看不到该用户或用户组,在命令行下输入net user也无法显示,但该帐号又是确实存在的)
如何验证该帐号确实是存在的的?打开任务管理器,观察一下:

w3wp.exe即iis进程,上图中高亮部分表明该iis进程正在以帐号luckty运行(注意这里的luckty即为上图中的应用程序池名称)
好了,搞清楚这个有什么用?
先来做一个测试,比如我们在iis里新建一个站点,主目录设置为c:\2\,应用程序池就指定刚才图中的luckty
假如我们在该站点的default.aspx.cs里写入这样一行代码 :
File.AppendAllText("C:\\TestDir\\1.txt",DateTime.Now.ToString());
前提是c盘必须先建一个目录TestDir,同时除Administrator,System保留完全控制权外,其它帐号的权限都删除掉
运行后,会提示异常: 对路径“C:\TestDir\1.txt”的访问被拒绝。
原因很明显:该站点运行时是以应用程序池(luckty)对应的虚拟帐号运行的,而这个虚拟帐号不具备c:\TestDir的访问权限
这种情况在web服务器(iis6)安全配置中很常见,比如我们把图片上传目录,常常放在主目录之外,同时以虚拟目录形式挂于站点之下,另外在IIS6中不指定该目录任何执行权限 ,这样即使有人非法上传了asp/aspx木马上去,也无法运行搞不成破坏!言归正传,要想让那一行测试代码正常运行,解决办法很简单,把虚拟帐号的权限加入文件夹安全权限中即可,但是问题来了:这个虚拟帐号我们是不可见的,如果你直接添加名为luckty的用户到文件夹安全帐号里,根本通不过(提示找不到luckty用户),说明这个虚拟帐号名称并不是"luckty"

关键:手动输入 IIS AppPool\luckty (即IIS AppPool\应用程序池名),再确定,这回ok了.

当然除了用"IIS AppPool\应用程序池名"外,windows内部还有一个特殊的用户组Authenticated Users,把这个组加入TestDir的安全权限帐号里也可以,不过个人觉得没有"IIS AppPool\应用程序池名"来得精确.
结束语:IIS7.5的虚拟帐号设计确实很棒,想想传统IIS6的时候,为了把同一服务器上的各站点权限分开(以防止木马捣乱),不得不创建一堆iuser_XXX,iwam_XXX帐号并指定密码,再一个个站点分配过去,累死人!而虚拟帐号设计则让这类管理轻松多了,也不用担心密码过于简单或过期问题。So,还在等什么,赶紧升级到win7/win2008 R2吧!

查看更多...

Tags: 服务器

分类:网络点滴 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 8302

让人折腾的windows2008R2

服务器的各配件少有延误的在国庆第二天到齐,很快就将机子组装了起来,并安装了系统——第一次不使用光驱而使用U盘的USB-HDD模式安装系统,还是安装64位系统,稍微绕了点弯,也算总是搞定了——当然新机子自然会上新系统咯,毫无疑问,这次我要抛弃使用多年的windows2003R2系统转投windows2008R2系统。

不过随后的几天可是让我抓破头皮了,08系统的系统默认帐号权限相当繁杂,因为网上找不到相关教程——找到的可怜几个帖子也就是将03的教程改几个字而来的。只好自己按照着03的规则慢慢配置了,结果呢?到处闯祸,出现了N多莫名其妙的权限问题,害得我不得不一次又一次恢复系统——这里要赞一个08自带的windows备份软件,还是相当不错的说——反正折腾到现在我也还没完全做好系统盘的权限工作,不过吃够苦头后,也慢慢找到了“可以修改”的权限>_<

不过虽然08系统让人折腾,不过随着折腾的是,我越来越喜欢这个系统了,很多很不错的改进,使用起来也相当顺手,所以我决定一定要啃下这个骨头,绝不回头装03>_<

查看更多...

Tags: 服务器

分类:网络点滴 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2493

新服务器最终配置敲定

因为目前的网站服务器使用三四年后配件的老化与性能的落后,为了给用户提供更稳定的服务与适应网站的发展需要,综合各种情况的考虑,暑假后,我下定决心配置新服务器……

纠结了我差不多一个月的时间,经过反复地琢磨每个配件的选择——适逢内存毫无先兆的突然大涨价,更是让人郁闷-_-
好了,现在确定最终配置不再更改(除非没货,不得不另选)

主板 技嘉 Z68M-D2H
CPU  至强E3 1235缺货,换成i7 2600
硬盘 西数500G企业版黑盘(RE4 64M缓存版本) 2个
内存 金士顿 宽版 4G DDR3 1333 2条
散热 1155针 捷豹 1U服务器纯铜涡轮散热器
机箱 iok S1320(含机箱风扇,侧吹风)
电源 航嘉 hk500 1u 额定400w

周末这两天就下单订货,估计下周即可到货,国庆节前可以装好新机,大概会再花上两三周的时间测试服务器稳定性与熟悉win08 r2系统环境,预定十月下旬送达机房更换服务器o(∩_∩)o...

ps.坑爹的天朝股市和基金啊,补一次仓就暴跌一次,偶还要被坑多久啊TAT

28日 update:因为节前E3 1235普遍缺货,无法买到,cpu改为i7 2600~

查看更多...

Tags: 服务器

分类:杂七杂八 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2629

windows2003 IIS6开启全站gzip

最近一直在做服务器优化工作——用服务器都三年多了,到这个时候才开始做优化,某D囧了……
嘛,因为之前的网站访问量一直不大,所以我感觉即使不做优化,服务器跑起来也毫无鸭梨-_-
不过刚刚过去的这个寒假,经过将近2年的发展,轻小说文库已经达到日pv10w的量了,在晚上网络高峰期,服务器带宽基本上平均在1m/s的流量,cpu使用情况也起伏很大,时常跑到50%以上。所以考虑一下,还是给服务器做一做优化后。
这几天先后做了iis应用池的配置优化,经过几天观察,似乎已经不再出现503当机情况了。
接着对下载电子书加入新的判断语句,进一步封杀迅雷的盗链情况——某天的网站日志里面一小时内迅雷就发起了数几万次请求,实在是不封不行啊:(
然后开启了文库的缓存功能,不过因为缓存功能的开启,原先的简繁体版本和部分页面出现了意料外的一些小bug情况,于是乎只好不断的查错,对程序和模板修修补补的……
最后就是开启了全站的gzip压缩传输,这可以有效的降低传输数据时候服务器带宽的占情况,因为服务器是国内电信机房的,压缩了文件传输的大小,对于占网站流量比例超1/3的港台用户以及网通、教育网用户的访问速度提高还是很有帮助的……
未来一段时间继续观察服务器的稳定性,如cpu占用依然不理想,就将iis的php运行模式换成fastcgi来……
好了,下面是iis6开启gzip的方法:
引用内容 引用内容
1.打开Internet信息服务(IIS)管理器,右击"网站"->"属性",选择"服务"。在"HTTP压缩"框中选中"压缩应用程序文件"和"压缩静态文件",按需要设置"临时目录"和"临时目录的最大限制"; 该目录须给IIS_WPG帐号写入权限,否则iis无法写入,不能生效。

2.在 Internet信息服务(IIS)管理器,右击"Web服务扩展"->"增加一个新的Web服务扩展...",在"新建Web服务扩展"框中输入扩展名"HTTP Compression",添加"要求的文件"为C:\WINDOWS\system32\inetsrv\gzip.dll,其中Windows系统目录根据您的安装可能有所不同,选中"设置扩展状态为允许";

3.使用文本编辑器打开C:\Windows\System32\inetsrv\MetaBase.xml(建议先备份),
找到Location ="/LM/W3SVC/Filters/Compression/gzip用于设置gzip压缩,
找到Location ="/LM/W3SVC/Filters/Compression/deflate"用于设置deflate压缩.
上面两个节点紧挨着.并且设置的属性相同.

如果需要压缩动态文件,则将HcDoDynamicCompression设置为"TRUE",并在HcScriptFileExtensions中增加您要压缩的动态文件后缀名,如aspx;如果需要压缩静态文件,则将HcDoStaticCompression和 HcDoOnDemandCompression设置为"TRUE",并在HcFileExtensions中增加您需要压缩的静态文件后缀名,如 xml、css等;HcDynamicCompressionLevel和HcOnDemandCompLevel表示需要的压缩率,数值在0-10, 默认为0.

注:什么类型文件应该GZIP压缩:
1:CSS,Javascript、html 静态文件
2:asp,php 动态文件
3.图片不要使用GZIP,压缩了反而大

如何检查网页是否GZIP压缩过:
站长工具‍ ‍http://tool.chinaz.com/Gzips/

查看更多...

Tags: 服务器

分类:网络点滴 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 3634

服务器转战福建机房

虽然通知IDC早上9点将服务器安排寄出机房,结果拖到了中午1点才交到顺丰快递的手上,但总算还是顺利的,承天珠海机房没发生落伍者上部分人反应的中客机房拿机子拖延很长时间的情况。
今晚给顺丰客服电话询问了下情况,估计服务器明天中午就可以达到目的地——福建莆田电信机房,一切顺利的话,下午网站就可以恢复了……

珠海机房其实一直用的感觉很不错,十独的带宽,用了两年了一直很稳定,承天的24小时服务让我还是较为满意的,要不是广东电信今年突然毁约,全部机房大幅涨价,我还真的不太想走,虽然价格不算是广东最便宜的,3800一年(实付3700),个人感觉性价比还是很高,而且机房可以做小说站、论坛,正符合我的需要。但一切人算不如天算,广东电信毁约后,托管费用几乎翻了一番,到了7200元……

不过在年初决定要走人以后,在这个月又遇到了两个情况。
一是据说上海那边电信与网通之间的主通信道出了故障,导致网通和电信以及受牵连的电信和电信之间的网速急剧下降,从网站会员的反应看,广东珠海机房的网通访问已经以前慢了很多,所以决定要选一个网通速度好些的机房来。于是找了几个候选机房来测试,拜托了几个网通的网友帮我一个个的测试下速度,最终还是觉得福建的网速最好……

二是福建机房我已经有2个朋友在那托管服务器了,原本过年那段时间就决定了优先考虑福建莆田机房的,没想到过年后福建那边就坐地涨价了,从4000一年涨到了4500一年,那个郁闷啊~最终和业务员签了一年合同,按照2300/半年的价格付款,这么算下来,一年就比原来的成本贵了差不多25%了~~

btw.离开珠海机房前遇到了一个小插曲,珠海这个月强制按照华盾信息过滤软件,因为去年国庆前idc统一安排给的许可证到期了,所以现在要求服务器机主自费购买,因为我已经打算离开珠海机房,自然不会再去买这个软件了,结果上周机房扫机子的时候被发现了,直接给我封80~
还好软件有试用期,我去找华盾客服,弄了个试用许可证,就申请恢复了,试用许可证刚刚好可以用1个星期——到期前一天我就要离开珠海机房了
福建这边的idc也告诉我需要按照过滤软件,不过这边是免费提供的~~

Tags: 服务器 机房

分类:杂七杂八 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2587

自定义404错误页面返回404代码的办法

当用户进入一个已不存在的页面时很可能就马上离开,使用一个404页面既能友好地提示用户不能访问的原因还可以挽留住访客,这种自定义404错误也叫做软404。
但是GG的网站管理员帮助里面提示说当搜索引擎来抓取页面时你必须要返回一个404页面不存在的状态码告诉搜索机器该页面不存在,软404代码会给用户带来困惑,而且搜索引擎也会花很多时间在您的网站上爬行和索引一些并不存在、而且经常重复的URL。这会给您网站的索引覆盖率造成负面影响——由于谷歌机器人被这种代码误导并花了大量时间爬行一些并不存在的网页,您的一部分含有独特内容的网页反而有可能无法被及时发现,或者不能被经常性访问。

所以,自定义404错误页面必须首先做到能正确向搜索返回404 Not Found值,我们可以通过下面方式实现(在自定义网站的404错误页面时,对设置的错误页面URL链接应使用相对路径而不是绝对路径,而且自定义404页面应该放在网站根目录下)
程序代码 程序代码
PHP:
<?php
        header("HTTP/1.0 404 Not Found");
?>
ASP:
<%
   Response.Status = "404 Not Found"
%>

在IIS/ASP.net下设置404静态页面
设置静态404错误页面的方法则比较简单,在IIS管理器中右键单击要管理的网站,打开“属性”中的“自定义错误信息”页,为“404”设定相应的错误信息页即可。不过,此处在“消息类型”中一定要选择“文件”或“默认值”,而不要选择“URL”,不然,将导致返回“200”状态码。

查看更多...

Tags: 服务器 网站

分类:网络点滴 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 7359