IIS on Nano server
This article has been moved to its new home here: https://benperk.github.io/msdn/2017/2017-03-iis-on-nano-server.html
If you have not seen my full post about all the IIS 10 new features, check it out here.
NOTE that is it not recommended to run IIS on Nano. Instead you should be using the self-hosted .NET Core scenario. See here for more information on Server Core with IIS.
Also, if you have not already reviewed my other articles on using IIS on Nano, then you might want to take a look at them. Just so you know the perspective I am coming from and the context in which I work within.
- What’s new in IIS 10
- How to list Packages available when creating a Nano server
- How to install IIS and Tracing on a Nano for Windows Server 2016
- How to copy files or deploy code to a Nano Server
- How to connect and configure IIS running on Nano
- IIS on Nano server
- ASP.NET Core with IIS on Nano Server
- Microsoft IIS Administration on Nano Server –> important for manage.iis.net
Nano server is like Server Core but smaller, cooler some might say. You can read about it in detail here. As with Server Core, Nano Server has no GUI so be prepared to perform all the commands to deploy IIS using command line. To install IIS 10 on a Nano Server, you could use the following, however there are many options, approaches and methods to accomplish this.
New-NanoServerImage -Edition Standard -DeploymentType Guest -MediaPath f:\ -BasePath .\Base -TargetPath .\Nano1.vhd -ComputerName Nano1 -Package Microsoft-NanoServer-IIS-Package
Then, to install any of the IIS features, you can use DISM accomplish, for example, to install the Application Initialization on Nano, execute the following:
dism /Enable-Feature /online /featurename:IIS-ApplicationInit /all
To disable it, execute this command:
dism /Disable-Feature /online /featurename:IIS-ApplicationInit
Some other IIS installable features for Nano:
IIS-DefaultDocument IIS-DirectoryBrowsing IIS-HttpErrors IIS-StaticContent IIS-HttpRedirect IIS-HttpLogging IIS-CustomLogging IIS-RequestMonitor IIS-HttpTracing IIS-HttpCompressionDynamic IIS-HttpCompressionStatic IIS-RequestFiltering IIS-BasicAuthentication IIS-ClientCertificateMappingAuthentication IIS-DigestAuthentication IIS-IISCertificateMappingAuthentication IIS-IPSecurity IIS-URLAuthorization IIS-WindowsAuthentication IIS-ApplicationInit IIS-CGI IIS-ISAPIExtensions IIS-ISAPIFilter IIS-ServerSideIncludes IIS-WebSockets
Some other points to consider:
- Targets ASP.NET Core
- Full .NET Framework will not run
- Supports Java and PHP as well