Windows 2008 R2 Server Core .NET环境配置

.NET Framework的部分功能在2008 R2 Server Core得到支持,包括:.NET 2/3/3.5的子集和ASP.NET。另外,PowerShell也在Server Core上可用。IIS7在Server Core上缺少的功能仅仅是本地的管理GUI,可以通过远程进行管理 。

安装好的Server Core支持以下角色:

  1. .NET Framework 2.0, 3.0, 和3.5 子集, 包括WCF, WF和LINQ
  2. PowerShell 2.0
  3. 通过WoW64 支持32位应用程序
  4. 支持ASP.NET的IIS 7.5
  5. 文件服务器资源管理器(FSRM)
  6. 证书服务

上述所支持的角色功能在安装好的Server Core服务器上已经就绪,可以通过以下命令启用相应的组件:

dism /online /enable-feature /featurename:

下面列出的上述组件的名称,注意名称是区分大小写的,

  • .NET Framework 2.0, 3.0, 和3.5 子集: NetFx3-ServerCore (要求首先安装NetFx2-ServerCore)
  • Windows PowerShell: MicrosoftWindowsPowerShell
  • 文件服务器资源管理器(FSRM): FSRM-Infrastructure-Core
  • 证书服务: CertificateServices
  • 支持ASP.NET的IIS 7.5:
  1. IIS-FTPExtensibility
  2. IIS-ASPNET
  3. IIS-NetFxExtensibility
  4. WCF-HTTP-Activation
  5. IIS-WebDAV
  6. IIS-ManagementService
  7. IIS-PowerShellProvider
  • 通过WoW64 支持32位应用程序: ServerCore-WOW64
  • Additional WoW64 support:
  1. FailoverCluster-Core-WOW64
  2. NetFx2-ServerCore-WOW64
  3. MicrosoftWindowsPowerShell-WOW64 (要求首先安装 NetFx2-ServerCore-WOW64)
  4. NetFx3-ServerCore-WOW64
  5. Printing-ServerCore-Role-WOW64
  6. ServerCore-EA-IME-WOW64
  7. SUACore-WOW64

应用通过下面这个命令查看已经安装的组件:

oclist | more

应用通过下面的命令查看已经启用的组件:

dism /online /get-features /formattable | find /I Enabled

应用下述命令明确ASP.NET功能的配置状态

dism /online /get-featureinfo /featurename:IIS-ASPNET

 

介绍完相关的命令了,下面我们来完成在Windows Server 2008 R2上启用ASP.NET的相关配置。Windows Server 2008 R2的ServerCore包含了.NETFramework2.0/3.0/3.5的子集,这使得ServerCore几乎可以支持ASP.NET的所有特性,但是还有一些限制需要注意:

  • 没有内置的管理控制台,配置和管理ServerCore中的APS.NET站点需要在安装了IIS管理控制台的客户端计算机上远程进行管理,或者通过ServerCore中的APPCMD工具,使用命令行控制台对IIS站点和应用进行更加全面的管理。
  • 没有System WebMail命名空间,因为ServerCore中不含CDOSYS组件,因而也不支持SystemWebMail命名空间,使用SystemNetMail可以实现相同的功能。
  • Windows Serve 2008 R2的Server Core不支持Web应用工具(WAT)。

在安装Web Server 角色,IIS和相关的依赖之前,我们必须确保.NET Framework是已经启用的,通过dism的以下两条命令进行配置.NET Framework 2.0, 3.0, 和3.5 子集:

dism /online /enable-feature /featurename:NetFx2-ServerCore

dism /online /enable-feature /featurename:NetFx3-ServerCore

安装IIS Web Server:

dism /online /enable-feature /featurename:IIS-WebServerRole

安装IIS的ASP.NET支持之前还必须启IIS-ISAPIFilter、IIS-ISAPIExtensions、IIS-NetFxExtensibility:

dism /online /enable-feature /featurename:IIS-ISAPIFilter

dism /online /enable-feature /featurename:IIS-ISAPIExtensions

dism /online /enable-feature /featurename:IIS-NetFxExtensibility

现在可以执行下面的命令安装ASP.NET:

dism /online /enable-feature /featurename:IIS-ASPNET

现在Server Core服务器已经可以支持ASP.NET应用,但是,现在ServerCore中并没有Windows 2008那样具有GUI的IIS管理控制台,这时候如果用户需要创建Web站点和Web应用,有两种方法可以实现:第一种是采用appcmd.exe命令行工具,在Windows系统文件夹中可以找到;或者开启IIS管理服务,通过IIS远程客户端的IIS管理控制台来创建。

执行以下命令安装IIS远程管理服务:

dism /online /enable-feature /featurename:IIS-ManagementService

需要安装WAS-WindowsActivationService和WAS-ConfigurationAPI:

dism /online /enable-feature /featurename:WAS-WindowsActivationService

dism /online /enable-feature /featurename:WAS-ConfigurationAPI

安装成功后,还需要更改一些注册表键值来激活管理服务:

Reg Add HKLM/Software/Microsoft/WebManagement/Server /V EnableRemoteManagement /T REG_DWORD /D 1

IIS远程管理服务已经安装好,但是需要注意的是默认情况下服务是处于停止状态的,如果需要IIS远程管理服务进入开启状态,需要通过netstart命令启用,这点非常重要:

net start wmsvc

现在我们可以通过远程计算机管理Server Core上的IIS服务器,通过带GUI的Windows Server 2008或者Windows 7的IIS控制台连接到Server Core上:

Windows 2008 R2 Server Core .NET环境配置_第1张图片

输入Server Core的服务器名称或者IP:

Windows 2008 R2 Server Core .NET环境配置_第2张图片

随后要求输入连接到服务器的凭证:

Windows 2008 R2 Server Core .NET环境配置_第3张图片

然后需要输入一个标识名称,建议规范命名,一看就知道是那个服务器的IIS:

Windows 2008 R2 Server Core .NET环境配置_第4张图片

在IIS上就可以远程管理你的Server Core的IIS服务了。

Windows 2008 R2 Server Core .NET环境配置_第5张图片

上述安装过程中,服务器只支持64位的应用程序,我们还存在大量的32位应用程序,在Server Core上启用32为应用程序的支持也很简单,32为应用程序的支持是通过WOW64,可以通过以下命令进行安装:

dism /online /enable-feature /featurename:ServerCore-WOW64

如果还需要使用32位的.NET程序集,执行以下命令进行安装:

dism /online /enable-feature /featurename:NetFx2-ServerCore

dism /online /enable-feature /featurename:NetFx2-ServerCore-WOW64

最后还需要IIS支持32位的应用程序的,需要在IIS的应用程序池上启用32为应用程序的支持。

如果你的应用程序里面还使用到了VC++写的程序集,还需要安装Microsoft Visual C++ Redistributable Package,具体可以参考Visual Studio 64位应用程序编译

 

参考资料:

  • Visual Studio 64位应用程序编译
  • Implement Minimalist Solutions using Windows Server 2008 R2 Server Core
  • How to Get Started with C++ and .NET Applications on Server Core
  • How to Get Started with ASP.NET Applications on Server Core

你可能感兴趣的:(应用服务器,Windows,Server,2008,asp.net)