webmatrix,这是微软的又一个重磅炸弹?微软,你究竟想干嘛 ?
Microsoft Web 平台不仅仅是一组功能强大的工具、服务器和技术,它还为网站、服务和应用程序的构建和托管提供了一个完整的生态系统。 无论您是要在网络上树立您公司的形象还是推出下一个 MySpace,我们都有让您走向成功的产品。 Microsoft Web 平台深受世界五百强公司信任,数以百万计的个人都在使用该平台,它一定能够适合您的需要。
看到上面的说明,或许你还没有过份在意,那么,下面这一小段的内容呢?
WebMatrix 是微软最新的 Web 开发工具,它包含了构建网站所需要的一切元素。您可以从开源 Web 项目或者内置的 Web 模板开始,也可以直接从无到有编写代码。简单并且完全是免费的。开发网站从来没有如此简单。为了开始建立网站,您只需要使用 Microsoft Web 平台安装器下载并安装 WebMatrix。这只会占用您短短的5分钟时间。当 WebMatrix 成功安装后,您可以非常方便地获得并下载最新版本的免费 Web 应用,如 WordPress, Joomla!, DotNetNuke 和 Orchard.您会发现 WebMatrix 在一个统一界面中提供了您需要的一切工具的特性,不需要再花费精力于在多种应用工具切换来完成一般性的 Web 开发任务。通过 WebMatrix,您只需要一步点击,即可编辑文件,管理数据库和更改服务器设置等。
看到上面这段呢,你怎么想?PHP/.net都在一起了,这样是否真的完美我不知道,但是这种免配置的功能是否会让网站又会铺天盖地的出来呢?
不过,说实话,我真不担心,要知道,国内还有一个大坎,那就是备案。黑黑,任你想法再多,备案都会卡死你。
更多介绍还是看官方吧:http://www.microsoft.com/web/webmatrix/,如果英文不好,可以切换成中文的。
看到这个标题的时候很惊讶,所以我就不小心的转载了一下下,如果真的能够这样无缝移植,对性能有多少损耗?当然如果是企业内部应用的话,真有一些性能开销也是可以被接受的
原文如下:http://www.cnblogs.com/cocowool/archive/2009/09/13/1565931.html
在使用Godday的空间的时候,他就提供了一个将应用从Linux转移到Windows环境的选项(这个转移还被我们用来作为避免被GW封杀的手段), 其实是不知道Godday是如何实现PHP应用无缝在这两个系统之间切换的,今天看到一篇文章介绍Helicon Ape,可以实现将我们的应用从Linux下转移到Windows中,并且提供了模拟Apache配置的环境,这样我们完全可以保留在Linux下开发 PHP的习惯而将应用转移到Windows中。
下面是Helicon Ape的一些特性:
* Users can move their Apache web sites to IIS without modifications;
* Current PHP and other Unix oriented web applications can be easily configured for IIS;
* Flexible user permissions control (as they implemented in Apache world);
* Powerful URL rewriting compatible with Apache does not require rule redesign;
* Reverse and forward proxy features available for a web server;
* Low level controls over web site behavior open extended abilities for optimization, security and performance;
* Comprehensive protection from site attacks;
* Flexible compression and cache functions to speed up a server;
* All-round HTTP-level web developer toolset.
对于哪些习惯Windows的开发者,这个看起来是个不错的选择。
参考资料:
1、Helicon Ape
2、Helicon Ape Introduction
本则新闻自于Cnbeta.com,可惜我没有IIS 7及更高版本。否则倒可以尝试尝试。。http://www.cnbeta.com/articles/92522.htm
也许您同时喜欢PHP的开发速度和Windows的易用性,但PHP和Windows的配合似乎永远没有Linux好?今天微软终于可以让Windows的PHP用户向Linux下的朋友们炫耀一下:
Windows Cache Extension for PHP Beta 发布,这是一个面向PHP的Windows缓存扩展,用于提高PHP应用程序的速度,而且无需修改任何代码!支持IIS 7.5和IIS 7.0.
- PHP 5.2 and PHP 5.3 support
- Configurable file cache
- Configurable PHP opcode cache
- Relative file path cache
- PHP functions to obtain information about the cache status
-
访问:Windows Cache Extension for PHP
IIS团队刚刚发表了IIS7在Window Server 2008 R2 beta中的新改进.Windows Server 2008 R2包括对IIS7 Web服务器的增补,对已经是史上最好的IIS平台进行修正、完善、添加。 今天在Windows Server 2008 R2 Beta中IIS7改进的主要亮点:
内容发布扩展(FTP, WebDav)集成进Web服务器OS/集成Administration Pack扩展到Windows Server OS
新的IIS7 PowerShell Provider和Commandlet支持/丰富的Server Core应用程序托管
改进的FastCGI支持/IIS核心更改/IIS Best Practice Analyzer
过去的一年半中,IIS产品团队在IIS7平台上辛勤编写扩展,发布了beta、TC和RTW们来新增对优化媒体托管、Web内容发布、站点和服务器管理、部署和迁移、请求处理的支持。 没有我们在Windows Server 2008上IIS7中引入的架构变更,我们根本无法在12~18个月中进行创新,并构建面向生产环境、完全受支持的微软软件。现在在Windows Server 2008 R2, 我们对这个IIS7平台再做了一些改进、修正和完善。
今天在Windows Server 2008 R2 Beta中IIS7改进的主要亮点:
内容发布扩展(FTP, WebDav)集成进Web服务器OS
继承内容发布扩展 (FTP, WebDav)进Windows Server OS
在Windows Server 2008发布前很久,我们就开始研发完全重写的FTP服务器和我们的WebDav实现。08年早些时候,我们发布了Windows Server 2008 FTP发布服务下载,具有FTPS安全内容发布、IPv6支持、IIS管理器集成管理FTP/HTTP站点、更强大的日志和认证支持的特性。跟我们所有的扩展一样,Windows Server 2008 FTP发布服务受到微软产品支持的完全支持及由专家用户和产品团队提供的论坛支持。我们在Windows Server 2008 R2中已经做到的是将FTP发布服务集成到服务器操作系统。
从客户角度,这意味着:
当Windows Server 2008上已经安装了FTP发布服务,你必须在安装新FTP服务前移除旧版。在R2中,你可以作为IIS组件的一部分来安装新的FTP服务器,IIS setup会替换升级旧的FTP服务。
你可以得到FTP发布服务自2008年2月发布后的bug修复。
你可以使用新增的认证、日志、授权和home目录扩展性,这些在MSDN上会有文档。
我们也会在2009年5月发布一个更新过的Windows Server 2008 FTP发布服务下载,所以这部分客户也能利用这些bug修复和扩展性。或者说:
(2009年5月版FTP下载 + Windows Server 2008) == (Windows Server 2008 R2中的FTP特性)
但有如下例外:
Windows Server 2008 FTP发布服务始终是一个下载安装,而Windows Server 20008 R2和以后会集成FTP。
2008年7月发布的WebDav也是一样。WebDav for Windows Server 2008提 供了HTTP协议WebDAV扩展的全新实现(直至spec)。我们在Windows Server 2008 R2安装中包含了WebDav。WebDav大的新特性是支持locks。我们也会为Windows Server 2008发布一个支持lock的WebDav,同样是2009年5月。同样地:
(2009年5月版WebDav下载 + Windows Server 2008) == (Windows Server 2008 R2中的WebDav特性)
如下例外:
WebDav for Windows Server 2008 始终是一个下载安装,而Windows Server 20008 R2和以后会集成WebDav。
集成Administration Pack扩展到Windows Server OS
我们把IIS7 Administration Pack集成到Windows Server 2008 R2,为客户提供:
在IIS Manager中集成管理ASP.NET authorization,自定义错误,FastCGI,和and Request Filtering。
配置管理器,提供管理IIS7配置系统的可视化编辑器。如果你想试用一下,我们的IIS开发经理Carlos Aguilar Mares撰写了comprehensive blog on the Config Editor's capabilities一文。我最爱的配置管理器部分是脚本生成功能——对做演示非常管用:)
我们并未将IIS Reports特性集成进Windows Server OS,如果你需要这个功能,你可以在IIS Administration Pack下载中得到。同样的,我们也会为Windows Server 2008用户提供更新的IIS Administration Pack,包括Windows Server 2008 R2种所有的修复和变更(除了集成安装)。
Windows Server 2008版的Administration Pack会和Windows Server 2008 R2一起发布,以确保功能和Windows Server 2008 R2一致。
新的IIS7 PowerShell Provider和Commandlet支持
IIS PowerShell provider,同样有Windows Server 2008版下载,允许用户使用PowerShell编程环境管理IIS,ASP.NET和自定义错误配置。是的,传说是真的——我们有为PowerShell用户们提供IIS:/>。我们的PowerShell支持提供了3个等级的支持:
PowerShell provider: 如果你熟悉IIS配置系统,想直接用PS编程环境来管理配置。
Low-level commandlets: 用我们的low-level commandlets集合来管理每个IIS设置,如果你需要这个程度的细粒度控制。
Task-oriented commandlets: 用我们的面向任务commandlets来管理网站(例如:New-WebSite创建一个站点),备份和恢复web服务器配置及其他常见任务。
集成到Windows Server 2008 R2中,你可以使用Windows Server setup来安装PowerShell provider和60+个commandlets。
和FTP、WebDav一样:
(2009年5月版PowerShell下载 + Windows Server 2008) == (Windows Server 2008 R2中的PowerShell特性)
例外是:
PowerShell for Windows Server 2008 始终是一个下载安装,而Windows Server 20008 R2和以后会集成PowerShell 。
更多的PowerShell支持信息,可以查看Group Program Manager和PowerShell大牛Thomas Deml的博客(http://blogs.iis.net/thomad)。
丰富的Server Core应用程序托管
Windows Server 2008 R2上,你可以在Server Core的IIS上跑ASP.NET应用。ASP.NET/CLR做了一些重构工作来确保ASP.NET网页的托管代码环境可以在Server Core上运行。哇!我们不仅能在Server Core上支持图片、媒体、PHP、传统ASP网页,也能跑ASP.NET应用。
Windows Server 2008 R2中的PowerShell 2.0版本处理远程管理,对Server Core安装和新的PowerShell provider很便利。你不仅能在Server Core IIS上托管你的所有应用,本地或远程通过新的IIS PowerShell Provider和commandlets来管理它们也更容易了。在Windows PowerShell blog上有PowerShell大法供参考。
改进的FastCGI支持
IIS7通过我们的FastCGI实现来支持PHP托管,我们在Windows Server 2008 R2 IIS7中持续翻新和提高FastCGI。增强的支持包括:
支持在IIS Manager中管理FastCGI设置。
当php.ini变化时自动刷新php-cgi.exe。这个版本中,IIS为每个进程池监视一个文件,如果文件被修改就会recycle这个进程池的FastCGI进程。此特性默认关闭,如果你(通过用户界面的一个设置)打开它,你可以指定监视的文件路径。
FastCGI的FREB支持,你可以更有效的排错PHP和其他FastCGI相容应用。
MaxInstance可以是动态——如果maxInstance设置为0,IIS自动监测系统负载并调整maxInstances。这允许我们优化PHP的性能。
基于特定错误的控制FastCGI错误行为的支持。
IIS核心更改
基于客户反馈和我们自己在IIS7平台开发扩展的体验,我们也对IIS7平台核心做了一些修改:
支持配置系统的自定义追踪。
通过配置轮询来审核或追踪配置变更的能力——这是来自托管商们的要求,特别是想要监视客户们更改配置系统。
ASP.NET支持不同的CLR版本(例如,CLR4.0),随着多个CLR版本的使用,这个特性对开发者切换版本很重要。我们也将此功能向后移植到Windows Server 2008 SP2。
Application pools的更好控制,可以为每应用程序池指定CLR设置,可以用新的Application Pool性能计数器监视性能。
可委派自定义错误,这是来自开发者的最多要求,他们想让非管理员在本地或远程改变自定义错误。
IP restriction list的IPv6支持。
Request filtering的更细粒度控制,特别对query strings来帮助防止SQL注入式攻击。Request filtering现在也支持请求特定的规则,使SQL注入规则仅对特定请求适用。
Nego2支持,将允许内置支持LiveID providers,FedSSP,和更小粒的Kerberos/NTLM使能。
支持不要求密码的Managed Service Accounts域账号。
AppPool identity支持——这个太复杂了,以后单独帖子会另行讲。
支持application pool预热,大型应用程序会需要"起动"一个应用程序池,这样最初的请求们会有更好的性能。
IIS Best Practice Analyzer
Windows Server 2008 R2在Server Manager里引入了一个新特性叫做Best Practice Analyzer。 BPA在Server Manager里提供单一控制台体验来管理跨不同服务器角色的配置的最优实践规则,如Exchange、AD和IIS。在Server Manager里,你可以对一些IIS规则运行BPA针对安全和性能的最优实践——例如,检查确认基本验证不会没有加SSL就启用。针对IIS的BPA规 则并不是巨细无遗,但它确实给予一组良好的核心提示作为起步。我们也会通过Server Manager来更新和增加这些规则。注意这个功能在Server Manager中,不在IIS Manager中。
当然,我们也修复了bugs。
你的反馈帮助了我们修炼IIS7,至今最好的Web服务器平台。今天你可以在这里下载Windows Server 2008 R2 beta,这不失为开始2009年的好办法!
译自:IISBlog
原文来自:http://www.cnbeta.com/articles/74751.htm
在博客园代震军BLOG 上,他翻译了:使用IIS 7.0 PowerShell 创建web站点,Web应用,虚拟路径和应用程序池,因为可能会在以后使用windows服务器,所以相对比较关心一下,也就复制了一份做为资料。
原文网址:http://www.cnblogs.com/daizhj/archive/2008/12/22/1352019.html
作者:代震军(我看原文最后还有个人信息,也一并转载,省得说我复制部份,呵呵)
原文如下:
原文链接:Creating Web-Sites, Web Applications, Virtual Directories and Application Pools
在本文中您将学会如何去创建WEB站点,Web Applications, 虚拟目录和应用程序池.
介绍
IIS PowerShell 名空间包括诸如: Web-Sites, Apps, Virtual Directories 和 Application Pools.
使用内置的PowerShell cmdlets可以很容易创建一个名空间项和管理该项.
创建Web站点
如果您熟悉PowerShell 的话,就会知道在各种PowerShell 名空间下New-Item cmdlet 通常被用于创建
新项。 举个例子,当前命令 "New-Item c:\TestDirectory" 会创建一个新的文件夹 (尽管多数人使用New-Item
的别名命令 "MD" 或 "MKDIR" ). 在IIS 7.0 PowerShell 名空间下,New-Item 也常用于创建新的Web站点.
参数
在创建一个文件系统路径时,您需要指定一个路径名称. 不巧的是当前创建WEB站点时这是不够的. 除了像
文件系统路径这样的参数之外,还需要network bindings. 下面的命令用于创建一个新的WEB站点并使用dir命令
进行显示:
PS IIS:\Sites> New-Item iis:\Sites\TestSite -bindings @{protocol="http";bindingInformation=":80:TestSite"} -physicalPath c:\test
PS IIS:\Sites> dir
Name ID State Physical Path Bindings
---- -- ----- ------------- --------
Default Web Site 1 Started f:\inetpub\wwwroot http *:80:
TestSite 2 Started c:\test http :80:TestSite
这里直接使用了 -physicalPath 参数. 然而您可能会问: -bindings 看起来咋这么复杂?.
在构造时通常使用hashtable (在 这里 了解更多PowerShell hash tables信息). hash table 中的键值对表示一个
设置集合,该集合在IIS站点bindings section中会反射出相关属性:
<bindings>
<binding protocol="http" bindingInformation=":80:TestSite" />
</bindings>
现在我们找出了一个使用hash table的原因: IIS 配置是可以使用属性进行扩展的。 (查看 这里 了解更多信息) . 您
可以想像一下使用其它属性扩展 <binding> 元素节点. hash table 的键值对提供了这种弹性.
坦白说,该语法有一点复杂. 我们正在考虑在Tech Preview中封装一些典型任务:比如创建站点的方法或脚本。
删除站点
下面是删除刚创建的站点.
PS IIS:\ >Remove-Item IIS:\Sites\TestSite
创建Web Applications
创建Web Applications 要比创建站点要容易. 下面:
PS IIS:\> New-Item 'IIS:\Sites\Default Web Site\DemoApp' -physicalPath c:\test -type Application
Name ApplicationPool EnabledProtocols PhysicalPath
---- --------------- ---------------- ------------
DemoApp DefaultAppPool http c:\test
您仅需指定的一个参数是 type (-type) ,因为在一个站点下,您可能要创建一个Applications 或一个虚拟路径.
通过指定 -type 参数,就会告之 IIS Provider 要创建一个application.
要删除这个 application 的话,也可以使用Remove-Item(见上面删除站点).
创建虚拟目录
要创建虚拟目录,您也要使用New-Item cmdlet. 下面会在指定站点(Default Web Site)下创建两个虚拟目录。
一个位于站点下,一个位于刚创建的 Web Application (DemoApp)下面.
PS IIS:\> New-Item 'IIS:\Sites\Default Web Site\DemoVirtualDir1' -type VirtualDirectory -physicalPath c:\test\virtualDirectory1
Name PhysicalPath
---- ------------
DemoVirtualDir1 c:\test\virtualDirectory1
PS IIS:\> New-Item 'IIS:\Sites\Default Web Site\DemoApp\DemoVirtualDir2' -type VirtualDirectory -physicalPath c:\test\virtualDirectory2
Name PhysicalPath
---- ------------
DemoVirtualDir2 c:\test\virtualDirectory2
创建应用程序池
创建应用程序池更简单. 仅需指定一个名称即可.
PS IIS:\> new-item AppPools\DemoAppPool
Name State
---- -----
DemoAppPool {}
简单吧,不是吗? 现在让我们将这些知识点连起来做一个完整的方案.
将所有知识点连在一起
在这个方案中,我们将执行下面这些步骤:
-
创建一系列的文件系统路径用于绑定站点, web applications 和虚拟文件。
-
向新创建的目录下拷贝一些简单的web内容。
-
创建一个新的应用程序池。
-
创建一个新的站点,一个新的 application 以及两个虚拟目录并将其绑到新创建的应用程序池上。
-
使用浏览器请求(访问这些内容)。
步骤 1: 创建目录
我们使用 New-Item cmdlet 来创建新的文件系统目录. 执行下面命令 (如不想指定-type 参数的话,可使用'md'):
New-Item C:\DemoSite -type Directory
New-Item C:\DemoSite\DemoApp -type Directory
New-Item C:\DemoSite\DemoVirtualDir1 -type Directory
New-Item C:\DemoSite\DemoVirtualDir2 -type Directory
步骤 2: 拷贝内容
现在向这些目录中写入一些 html 内容(文件):
Set-Content C:\DemoSite\Default.htm "DemoSite Default Page"
Set-Content C:\DemoSite\DemoApp\Default.htm "DemoSite\DemoApp Default Page"
Set-Content C:\DemoSite\DemoVirtualDir1\Default.htm "DemoSite\DemoVirtualDir1 Default Page"
Set-Content C:\DemoSite\DemoVirtualDir2\Default.htm "DemoSite\DemoApp\DemoVirtualDir2 Default Page"
步骤 3: 创建新的应用程序池
为站点创建一个新的应用程序池 'DemoAppPool' (如之前的例子中您也创建的话,请先删除它).
New-Item IIS:\AppPools\DemoAppPool
Step 4: 创建新的站点, Web Applications 和虚拟目录并绑定到应用程序池上
这里简化一下,我们创建 DemoSite, DemoApp 和两个虚拟目录:
DemoVirtualDir1 绑定到DemoSite 下
DemoVirtualDir2 绑定到DemoApp 下
我们将DemoSite 和 DemoApp 绑定到之前创建的 DemoAppPool 上. 为了不与'Default Web Site' 冲突,
这里DemoSite 的端口设置为 8080:
New-Item IIS:\Sites\DemoSite -physicalPath C:\DemoSite -bindings @{protocol="http";bindingInformation=":8080:"}
Set-ItemProperty IIS:\Sites\DemoSite -name applicationPool -value DemoAppPool
New-Item IIS:\Sites\DemoSite\DemoApp -physicalPath C:\DemoSite\DemoApp -type Application
Set-ItemProperty IIS:\sites\DemoSite\DemoApp -name applicationPool -value DemoAppPool
New-Item IIS:\Sites\DemoSite\DemoVirtualDir1 -physicalPath C:\DemoSite\DemoVirtualDir1 -type VirtualDirectory
New-Item IIS:\Sites\DemoSite\DemoApp\DemoVirtualDir2 -physicalPath C:\DemoSite\DemoVirtualDir2 -type VirtualDirectory
好,下面就要请求这些web 内容了。
步骤 5: 请求Web 内容
当然,您可以打开浏览器并敲入地址 http://localhost:8080/ ,以及其它链接(上面已创建)。但本文是PowerShell
的walkthrough 所以我们使用 .NET WebClient classes 来实现这个请求:
$webclient = New-Object Net.WebClient
$webclient.DownloadString("http://localhost:8080/");
$webclient.DownloadString("http://localhost:8080/DemoApp");
$webclient.DownloadString("http://localhost:8080/DemoVirtualDir1");
$webclient.DownloadString("http://localhost:8080/DemoApp/DemoVirtualDir2");
If you feeling adventurous you can also use Internet Explorer object itself:
$ie = new-object -com InternetExplorer.Application
$ie.Visible = $true
$ie.Navigate(http://localhost:8080/);
总结
本文中,您了解了如何使用PowerShell创建WEB站点, Web Applications, 虚拟目录和应用程序池.
除此之外,我们还使用 PowerShell 创建了一个功能(函数)化的完整方案.
译者注: PowerShell Provider for IIS 7.0 (x86) - CTP2下载连接,请点击这里:)
当然除了上面的方式来管理IIS站点之外,还可以使用Microsoft.Web.Administration(该dll位于"Windows\
System32\inetsrv目录下)。下面的PS脚本就是实现指量创建,删除等站点操作功能的:
function Setup-IIS
{
param([int]$NumSites)
for($i=0 ; $i -lt $NumSites ; $i++)
{
$Appfolder = "c:\inetpub\webroot\Site$i"
if (-not (test-path $Appfolder))
{
md $AppFolder -force | out-null
$defaultHTM = "$Appfolder\default.htm"
echo "This is site $i" | out-file $defaultHTM
}
}
}
function Cleanup-IIS
{
param([int]$NumSites)
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Web.Administration")
$mgr = new-object Microsoft.Web.Administration.serverManager
for($i=0 ; $i -lt $NumSites ; $i++)
{
$AppPoolName= "AppPool_$i"
$SiteName = "WebSite_$i"
$Appfolder = "c:\inetpub\webroot\Site$i"
$mgr.Sites.Remove($mgr.Sites[$SiteName])
$mgr.ApplicationPools.Remove($mgr.ApplicationPools[$AppPoolName])
if (test-path $Appfolder)
{
rd $Appfolder -recurse
}
}
$mgr.CommitChanges()
}
function Makewebs-IIS
{
param([int]$NumSites)
$start = get-date
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Web.Administration") | out-null
$mgr = new-object Microsoft.Web.Administration.serverManager
for($i=0 ; $i -lt $NumSites ; $i++)
{
$AppPoolName= "AppPool_$i"
$SiteName = "WebSite_$i"
$portNumber = 8000 + $i
$mgr.ApplicationPools.Add($AppPoolName) | out-null
$Appfolder = "c:\inetpub\webroot\Site$i"
$site = $mgr.Sites.Add($SiteName,$Appfolder,$portNumber)
$site.ServerAutoStart = $true
$app = $site.Applications[0]
$app.ApplicationPoolName = $AppPoolName
#$site.Bindings.Add("*:$portNumber:", "http") | out-null
}
$mgr.CommitChanges()
$duration = [DateTime]::Now - $start
write-host "Total seconds: " + $duration.TotalSeconds.Tostring()
}
我们只要以“管理员身份”运行Powershell,并在命令行下输入如下(以创建站点为例)代码:
>Makewebs-IIS 10
这样就会批量创建10web站点了:)
好了,今天的内容就先到这里了。
原文链接:http://www.cnblogs.com/daizhj/archive/2008/12/10/1352019.html
作者: daizhj, 代震军
Tags: iis7,powershell,powershell provider
网址: http://daizhj.cnblogs.com/
————EOF————
由于PowerShell将会成为未来CMD的替代品,对于它,有很多人都在关注着,也曾经下载了一个关于PowerShell的介绍和简单使用 的PDF,(在家里),等有空的时候也一并上传