How to Host a Website on Windows VPS with IIS
Short answerInstall IIS (if needed), put your site files in a folder, create an IIS website with a hostname/IP binding, allow TCP 80/443 in Windows Firewall, then point your domain’s A record to the VPS primary IP and test in a browser.
Overview
This guide walks through hosting a basic website on a VPSGrid Windows VPS using Internet Information Services (IIS). VPSGrid plans are unmanaged — you configure IIS, firewall, DNS, and application content inside the guest OS.
Before you start
- Active Windows VPS with Administrator RDP access
- Your primary IP from the client area / VPS Ready email
- A domain you control (optional for IP-only testing; required for a named site)
First-day Windows checklist: Getting Started with a Windows VPS. RDP connection steps: Connect with Remote Desktop (RDP).
1) Install IIS (if it is not already installed)
In Server Manager:
- Open Server Manager → Manage → Add Roles and Features
- Choose Role-based or feature-based installation
- Select your local server
- Enable Web Server (IIS) and complete the wizard with the default role services (add ASP.NET / CGI later only if your app needs them)
Or install quickly with PowerShell (Administrator):
Install-WindowsFeature -Name Web-Server -IncludeManagementToolsConfirm IIS responds locally: open a browser on the VPS to http://127.0.0.1/ (default IIS page) or run:
Get-Service W3SVC
Get-Website2) Create a website folder
- Create a folder such as
C:\inetpub\wwwroot\example.com - Place your site files there (for a static test, create
index.html) - In IIS Manager, confirm the folder is readable by the IIS identity (default sites usually work with standard
inetpubpermissions)
New-Item -ItemType Directory -Force -Path 'C:\inetpub\wwwroot\example.com'
Set-Content -Path 'C:\inetpub\wwwroot\example.com\index.html' -Value '<h1>Hello from VPSGrid IIS</h1>'3) Create the IIS site and binding
- Open IIS Manager (
inetmgr) - Right-click Sites → Add Website…
- Set Site name (for example
example.com) - Set Physical path to your folder
- Binding: type http, port 80, host name
example.com(and optionallywww.example.comas a second binding) - For IP-only testing, leave host name blank and use the VPS primary IP on port 80
- Click OK, then browse the site from IIS Manager or an external browser
PowerShell example (adjust names/paths):
New-Website -Name 'example.com' `
-PhysicalPath 'C:\inetpub\wwwroot\example.com' `
-Port 80 -HostHeader 'example.com' -Force
Start-Website -Name 'example.com'4) Open HTTP/HTTPS in Windows Firewall
Allow inbound web traffic (keep RDP allowed separately):
New-NetFirewallRule -DisplayName 'Allow HTTP 80' `
-Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow -Profile Any
New-NetFirewallRule -DisplayName 'Allow HTTPS 443' `
-Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow -Profile AnyMore firewall detail: Windows Firewall — PowerShell Rules and Windows Firewall Basics.
5) Point DNS to your VPS
- At your DNS host, create an A record for
@(and usuallywww) pointing to your VPS primary IP - Wait for DNS propagation, then visit
http://example.com/
The VPS hostname set at order time is not the same as public DNS. You still need A records (or equivalent) for visitor traffic.
6) HTTPS (optional next step)
After HTTP works, add a certificate and an HTTPS binding on port 443 in IIS (Win-ACME, Let’s Encrypt clients, or a commercial certificate). Do not open 443 publicly until a site is listening and a certificate is ready.
Important notes
- VPSGrid is unmanaged — IIS, app pools, content, certificates, and backups inside the VM are your responsibility
- Do not expose database ports to the public internet unless required and secured
- Stop or remove unused default sites/bindings if they conflict with your hostname binding
Frequently Asked Questions
I see the default IIS page instead of my site
Check the site binding (host name and port), confirm your folder has an index document, and stop or rebind the Default Web Site if it is catching the request.
The site works on the VPS but not from the internet
Confirm Windows Firewall allows TCP 80/443, the site is Started in IIS, DNS A records point to the correct primary IP, and you are testing after DNS has updated.
Does VPSGrid configure IIS for me?
No, not on standard unmanaged Windows VPS plans. Support helps with platform/billing and primary IP connectivity — not day-to-day IIS administration.
Related Articles
Need More Help?
Open a ticket at billing.vpsgrid.net with your service ID, primary IP, OS version, site binding details, and steps already tried.
Was this answer helpful?