No history yet

Introduction to IIS

Meet Your Web Server: IIS

Internet Information Services, or IIS, is Microsoft's web server software. It runs on Windows and its job is to serve requested web pages or files. When you type a website address into your browser, a web server like IIS is on the other end, finding the right content and sending it back to you. It's the engine that powers websites and web applications built on the Windows stack.

Lesson image

Think of it as a digital librarian. It receives a request for a specific resource (a web page, an image, a file), locates it, and delivers it to the user's browser over the internet using the Hypertext Transfer Protocol (HTTP) or its secure version, HTTPS.

The Architecture of IIS

IIS isn't a single program but a collection of components working together. At its core, it's built for performance and isolation. Two key kernel-mode components are HTTP.sys and the World Wide Web Publishing Service (W3SVC). The real work happens in user-mode, within something called a Worker Process.

Worker Process

noun

The process (w3wp.exe) that runs web applications in IIS. It's responsible for handling requests, processing code, and sending responses back to the client. Each worker process is isolated from others.

To keep things organized and stable, IIS groups applications into Application Pools. An application pool is a container that isolates one or more applications under their own worker process. This is a crucial feature. If one application in a pool crashes, it won't take down the applications running in other pools. It's like having separate, soundproof rooms for different bands to practice in. A problem in one room doesn't disrupt the others.

Installing IIS on Windows Server

Getting IIS running on a Windows Server is straightforward. You don't download it; you enable it as a 'Role' through the Server Manager.

  1. Open Server Manager.
  2. Click Manage and select Add Roles and Features.
  3. Proceed through the wizard until you reach the Server Roles section.
  4. Check the box for Web Server (IIS).
  5. A pop-up will ask to add required features, including the IIS Management Console. Click Add Features.
  6. Continue through the wizard, accepting the defaults for now, and click Install.
Lesson image

Once the installation is complete, you can open a web browser on the server and navigate to http://localhost. You should see the default IIS welcome page, confirming that the web server is running correctly.

Configuring a Basic Website

After installing IIS, you can host your own website. The default installation includes a 'Default Web Site' to get you started, but creating a new one is simple. You just need two things: your website's files in a folder and some basic configuration.

Open the IIS Manager by searching for 'Internet Information Services (IIS) Manager' in the Start Menu.

In the Connections pane on the left, right-click the Sites folder and select Add Website. You'll be prompted for a few key pieces of information:

  • Site name: A friendly name for you to identify the site in IIS Manager (e.g., 'MyTestSite').
  • Physical path: The folder on your server where your website's files (HTML, images, etc.) are located.
  • Binding: This tells IIS how to receive traffic for this site. It consists of an IP address, a port (HTTP is port 80), and an optional host name (like www.example.com).

Once you fill this out and click OK, your site is live on the server. You can also assign the site to a specific application pool during this setup or change it later. By default, creating a new site also creates a new application pool with the same name, ensuring it runs in isolation.

Quiz Questions 1/6

What is the primary function of Internet Information Services (IIS)?

Quiz Questions 2/6

In IIS, the purpose of an Application Pool is to isolate web applications from each other.

Understanding these fundamentals of IIS is the first step in deploying and managing web applications on a Windows environment. You now know how the server is structured and how to get a simple site up and running.