一、iis简介
iis是Internet Information Services的缩写,意为互联网信息服务,是由微软公司提供的基于运行Microsoft Windows的互联网基本服务。最初是Windows NT版本的可选包,随后内置在Windows 2000、Windows XP Professional和Windows Server 2003一起发行,但在Windows XP Home版本上并没有IIS。IIS是一种Web(网页)服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使得在网络(包括互联网和局域网)上发布信息成了一件很容易的事。
二、iis建立虚拟主机
iis建立虚拟主机的方式有三种。第一种是基于ip、第二种是基于端口、第三种是基于域名。
第一种基于ip(网站名称及虚拟主机名,物理路径及源代码所在路径,端口虚拟主机所使用的端口),这里有两个ip选择其中一个就可以建成一个网站。
第二种基于端口,基于ip相同的情况下使用不同的端口可以建立不同的虚拟主机。(如80、81等端口)
第三种基于域名,基于ip和端口相同的情况下使用不同的域名可以建立不同的虚拟主机。(如www.contoso.com、marketing.contoso.com等域名)
三、应用程序池几个重要参数介绍
队列长度:单次能够进入排队的并发请求数。如应用程序池默认的队列长度值为1000,假设有10000个并发请求过来,那么其中9000个直接返回“HTTP Error 503. The service is unavailable.”
启用32位应用程序:默认值为false,要修改为True。否则会导致一些32位的组建或32位的php出现错误。
托管管道模式:经典模式(Classic)和集成模式(Integrated),一般选用集成模式(Integrated)。
闲置超时(分钟):默认为20分钟,可以适当的增长。
快速故障防护:默认为开启。在网站出现503程序池停止时可以选择性关闭。
四、应用程序池出现自动停止解决方案
1、快速故障防护设置为false。如下图。
2、控制面板-->管理工具-->组件服务-->计算机-->我的电脑-->DCOM配置-->IIS Admin Service右键属性-->安全-->对启动和激活权限编辑
添加NETWORK SERVICE用户并给予本地连接和本地激活权限。如下图
3、如若编辑显示为灰色,无法进行编辑。那么进入注册表修改HKEY_CLASSES_ROOT\AppID\{A9E69610-B80D-11D0-B9B9-00A0C922E750}右键权限点击更改所有者为administrators访问权限为完全控制。
五、iis支持10万个请求
1、修改队列长度由默认的1000修改为最大的65535。当然你也可以根据访问用户·1.5倍的原则来设置。
2、修改appConcurrentRequestLimit将默认值5000修改为100000,默认值在配置文件中看不到。
在cmd环境下执行:c:\windows\system32\inetsrv\appcmd.exe set config /section:serverRuntime /appConcurrentRequestLimit:100000。执行后可在下图文件中查看。
3、修改machine.config中processModel>requestQueueLimit的设置。由默认5000修改为100000.见下图
4、修改注册表。调整iis支持的同时TCP/IP连接数默认值5000为100000。
在cmd中执行:reg add HKLM\System\CurrentControlSet\Services\HTTP\Parameters /v MaxConnections /t REG_DWORD /d 100000 见下图
5、修改每个CPU进程使用的工作线程的最大数量和进程使用的 I/O 线程的最大数量,默认值为10。