Kentico websites are hosted using an Internet Information Services web server, either within the root of an IIS web site or as an application (virtual directory) under a web site. For more information, see Understanding Sites, Applications, and Virtual Directories on IIS 7.
By default, the Kentico Installer creates IIS applications automatically for new web projects. However, you may need to add and configure IIS applications manually in certain scenarios. For example:
- After you deploy the Kentico web project files to a remote server (into a sub-folder under the IIS web site's root, when you wish to host the site in a virtual directory).
- If you do not select the Register to IIS option during the installation of a local instance. For example, if you do not wish to use the default IIS application name or alias.
Creating applications in IIS
MVC development model
Sites built using the MVC development model run as two separate projects – the live site and the Kentico administration interface. If you wish to run both projects in virtual directories under the same IIS web site, you need to create two IIS applications (one for the MVC project, one for the Kentico administration project).
To create an IIS application for a Kentico web project:
- Run Internet Information Services (IIS) Manager.
- Expand local computer -> Sites, right-click your web site (e.g. Default Web Site), and choose Add Application.
- Enter the application's Alias.
- The Alias determines the URL virtual path under which the website will be available. For example, enter the alias Kentico to run the website under the <domain>/Kentico URL (e.g. http://localhost/Kentico).
Enter or select the application's Physical path, i.e. the directory that contains the web project files.
Important: The application's Physical path must lead to the root folder that contains the project's main web.config file. For example, specify the CMS subfolder of the installation directory when creating an application for the Kentico web project.
- Select an Application pool. For more information, see the Configuring application pools section.
- Click OK.
The application is now ready and you can open the Kentico website in your browser under the appropriate URL.
Configuring application pools
Application pools in IIS provide you with an additional level of website management. You can configure them in Internet Information Services (IIS) Manager, under local computer -> Application Pools.
Required basic settings
- Managed Pipeline Mode: Integrated
- .NET CLR Version: v4.0
Run each Kentico project in a separate application pool, otherwise the system may behave unpredictably. If you use the MVC development model, use a different application pool for your MVC live site application and the Kentico administration application.
- Configure the Recycling -> Regular Time Interval value. The regular restart ensures that the application's memory is recycled and allows automatic recovery from failures. This value should not be too short (less than 60 minutes) or too long (more than 1740 minutes). Short restart intervals may lead to high server load and slow response times after each recycling (the application needs to restart and reload data into the cache).
- Do not set a Recycling -> Private Memory Limit or Virtual Memory Limit. If you need to set a limit, use at least 4 GB. A low maximum memory limit may lead to frequent application restarts.
- The Process Model -> Maximum Worker Processes value must be set to 1. If you set a higher value, the worker processes will not be synchronized and the website will not work correctly. Kentico does not support a Web garden setup.