Recommended Free Tools
To replace Nginx’s “Welcome to nginx!” page, serve your files from the root used by the server block that answers the request, set the correct server_name and index, disable the competing default site when necessary, then test and reload Nginx. On Ubuntu’s packaged layout, the usual default root is /var/www/html and the enabled configuration is /etc/nginx/sites-enabled/default.
Antihost offers Linux VPS plans with full root access, unlimited traffic on a 1 Gbps port and a 14-day free trial.
What the welcome page means
The welcome page is not a separate application. It is an ordinary file being returned by whichever Nginx server block handled your request. Nginx takes the requested URI, appends it to the active root directory, and looks for a matching file. When the URI is a directory such as /, the index directive names the file to return; its default value is index.html.
As an Amazon Associate I earn from qualifying purchases.
Free tools Windows power users keep installed
One-click scans. No signup required.
For example, with root /var/www/example.com;, a request for /images/logo.png maps to /var/www/example.com/images/logo.png. A request for / uses the configured index file, commonly /var/www/example.com/index.html. If your files are in another directory, or your request reaches another server block, uploading files alone will not change the response.
Ubuntu’s default layout
Ubuntu’s packaged single-site configuration serves files from /var/www/html. The enabled default server is normally represented by /etc/nginx/sites-enabled/default, often as a symbolic link to a file under /etc/nginx/sites-available. These paths describe Ubuntu’s package layout; other distributions and installation methods can use different locations.
#1 Best Overall
- BLUE LIGHT BLOCKING GLASSES: Our blue light glasses for women boast UV400 protection, blocking harmful blue rays from computer screens. With these bluelight glasses women, you can enjoy gaming, reading, or watching TV with no worries of eye strain.
- EYE RELIEF: Our blue light glasses are engineered to reduce blurry vision or strain caused by prolonged screen time. These womens blue light glasses aid in better sleep by preventing blue light from disrupting your natural sleep cycle, helping you fall asleep faster and enjoy a more restful night's sleep, making them the perfect christmas present.
- COMFORTABLE: Crafted from durable material, our trendy blue light glasses for woman or blue light glasses men ensure long-lasting comfort. The high-transmittance lenses accessories, gamer gifts for men, help keep your eyes relaxed. Perfect stocking stuffers, gifts for gamers men, christmas gifts for men, halloween costumes.
- LIGHTWEIGHT: These clear blue light glasses feature a lightweight frame, meaning they’ll stay comfy for long-term wear. Perfect as blue blockers glasses for women or mens blue light glasses, these non-prescription fake glasses for men can be worn throughout the day. The blue light blocking glasses women feature polycarbonate HD lenses, which are anti-reflective and restore true color.
- WORRY-FREE PURCHASE: If you experience any issues, our support team is ready to assist you quickly. These are the perfect costume glasses for cosplay dressing up.
The authoritative view is the merged configuration Nginx is actually running. Use it before editing so you do not guess which file, port, root, or server name is active.
sudo nginx -T
In the output, find the server block listening on the port you are testing. Note its listen directives, whether it has default_server, its server_name, root, and index. Included files are expanded in this output, so it is also useful for finding duplicate or unexpected blocks.
Choose the replacement method
| Method | Best for | Advantages | Things to check |
|---|---|---|---|
| Edit the packaged default block | A single, simple site on a server that will not host additional domains | Fewest files and shortest change | The active root, index filename, listen settings, and any other default server |
| Create a dedicated server block | A named domain, multiple sites, or a configuration you may enable and disable independently | Separate document root and settings; easy to manage with a symlink | Exact server_name, matching port, enabled symlink, and whether the old default still captures requests |
Both methods use the same Nginx rules. A dedicated block is usually the clearer long-term arrangement because each site has its own root and configuration. Editing the packaged default is reasonable for a one-site machine when you intentionally keep that block as the server answering the request.
Replace the page with a dedicated site
1. Confirm which server block answers the request
Run sudo nginx -T and inspect the blocks for the port you use, normally port 80 for HTTP. Nginx first considers the listen address and port, then compares the request’s Host header with server_name. If no name matches, Nginx routes the request to that port’s default server. This selection step explains many cases in which files appear to be uploaded correctly but the welcome page remains visible.
Look for these details:
- The block marked
default_server, if one exists. - The block whose
server_nameincludes the domain you are requesting. - The
rootdirectory that Nginx will search. - The
indexfilename used for a directory request. - Other blocks using the same port, especially another block with the same name or a competing default.
2. Put your site files in the intended document root
For Ubuntu’s default single-site setup, copy or deploy your site’s entry file and assets under /var/www/html. A typical static site might contain:
/var/www/html/index.html
/var/www/html/css/site.css
/var/www/html/js/site.js
/var/www/html/images/logo.png
If you want a separate root, create or choose a directory such as /var/www/example.com and use that exact path in the server block. The path in the configuration and the location where you place the files must agree; Nginx does not search unrelated directories for an index file.
3. Create the server block
Create /etc/nginx/sites-available/example.com with a minimal static-site configuration. Replace the domain names and filesystem path with your values:
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
root /var/www/example.com;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
listen 80; handles IPv4 HTTP connections, while listen [::]:80; handles IPv6 on the same port. The two names in server_name allow the bare domain and its www hostname to select this block. The explicit root tells Nginx where to append each request URI, and index index.html; makes the entry filename unambiguous.
The try_files line checks whether the requested path exists as a file or directory and returns HTTP 404 when it does not. It is suitable for a straightforward static site. If your application needs a front-controller rewrite, use the application’s documented Nginx configuration instead of assuming this static rule is appropriate.
Rank #2
- WINDEX GAMING WIPES: effortlessly clean all your gaming gear and gaming electronics in one easy step with our new Windex Gaming Wipes
- AMMONIA FREE: our ammonia-free formula is safe to use on all of your favorite gaming equipment like consoles, headsets, controllers, screens, keyboards, and more
- PRE-MOISTENED WIPES: each wipe instantly removes dust, dirt, and stubborn smudges and fingerprints leaving a streak-free shine
- ANTI-STATIC: great for cleaning and wiping down your gaming gear and electronics leaving behind no visible residue
- COMPACT RESEALABLE PACKAGE: store your pack of Windex Gaming Wipes anywhere in your home for whenever a quick and easy wipedown is needed
4. Enable the site
Ubuntu’s multi-site pattern keeps available configurations in sites-available and enables them through symbolic links in sites-enabled. Create the link for the file you just saved:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/example.com
Check the target and filename if a link already exists. Enabling a file does not by itself guarantee that it will answer your request: the domain, listen port, and default-server selection still have to match.
5. Disable the competing default site when appropriate
If the packaged default remains enabled and your request does not match the new block’s server_name, the default block can continue to return its own welcome-page file. Once you have confirmed that the replacement block is enabled and correctly named, remove the default symbolic link if you no longer need that site:
sudo rm /etc/nginx/sites-enabled/default
Do not delete the file blindly. First confirm with nginx -T that your intended block is present and that another block will answer requests on the required port. Removing a symlink changes which configurations are loaded; it does not erase your site file under sites-available.
6. Test the configuration before reloading
Always validate syntax and included files before applying the change:
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errorssudo nginx -t
A successful test reports that the configuration syntax is valid and the test is successful. If it reports an error, correct the file and run the test again. Nginx will continue using the last working configuration until a valid reload is performed, so a failed test should not be followed by a reload.
7. Reload Nginx
After nginx -t succeeds, apply the configuration without stopping the service:
sudo systemctl reload nginx
A reload causes Nginx to read the updated configuration while continuing to serve existing connections. It is the documented Ubuntu command for applying a valid configuration change.
8. Test the exact host name
Open the intended domain in a browser after DNS points to the server. While DNS is still being configured, send the expected Host header directly to the local address:
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Rank #3
- Ergonomic & Adjustable Design: Fight "text neck" and improve your posture. Designed for comfort, it offers an adjustable height (7.1in-8.5in) (1.4in adjustable range) and angle (5°-85°) Please note: cell phone stand is only 9 inches tall—the length of a standard pencil
- Without blocking subtitles Perfect for office desk Tiktok Face Time Zoom video—this is the ultimate kitchen desk essential for phones! Perfect viewing experience while reducing neck back strain, A must-have for gamers streamers desk, and anyone who values both style and support!
- Sleek & Stable Design fits Otterbox Case: Say goodbye to bent cables, tangles, and tip-overs! LISEN’s stylish adjustable desk phone holder features a built-in charging hole and smart cable management, keeping your phone secure and your workspace clutter-free cool gadgets for men
- ANTI-SLIP DESIGN free hands: The under 10.00 items easy gadgets back and the bottom of this kitchen essentials for women are fully covered by anti-skid silicone, which LISEN stand up desk decor can provide maximum protection device from any scratches and slides
- Your Perfect Viewing Companion:If your product arrives damaged or breaks within 365 days, reach out to LISEN for a quick and hassle-free solution. Struggling with assembly, like tightening the screw? We’ve got your back! Your experience matters to us. (Product including: phone Holder stand*1, screw*1, hexagon screwdriver*1, specification*1)
curl -H 'Host: example.com' http://127.0.0.1/
This test checks server-name selection separately from public DNS. If it returns your page, the Nginx mapping is working and a DNS or hostname issue may be preventing the browser from reaching the same block. If it still returns the welcome page, return to sudo nginx -T and compare the active root, server name, port, and default server.
How URI-to-file mapping works
The root directive specifies the directory Nginx uses when searching for a file. It is not the directory containing the configuration file, and it is not automatically changed when you upload through FTP or a deployment tool. With root /var/www/example.com;, the URI /about.html maps to /var/www/example.com/about.html. The URI /assets/app.css maps to /var/www/example.com/assets/app.css.
A request for / identifies a directory. Nginx then consults the index directive and tries the named file in that directory. If you have index home.html;, the expected path is /var/www/example.com/home.html. The directive does not relocate files or search for similarly named files. A file called Home.html is also not the same name as home.html on a case-sensitive filesystem.
The sample try_files $uri $uri/ =404; makes this behavior explicit for static content: an existing file is served, an existing directory can use its index, and an unknown path receives a 404 response. It does not convert a dynamic application into a static site or provide an application’s required rewrite rules.
The shorter one-site option: edit the packaged default
For a machine that serves only one site, you can replace the content served by the enabled default block instead of creating a second block. Inspect /etc/nginx/sites-enabled/default and identify its active root, which is commonly /var/www/html on Ubuntu. Put your site’s files in that root and ensure the directory request resolves to the correct index file.
If the existing block does not explicitly name your domain, add the appropriate server_name or continue using it as the default server deliberately. Then run sudo nginx -t and sudo systemctl reload nginx. This approach is shorter, but separating your site into its own file is easier when you later add another domain or need to disable one site without touching the others.
Editing the default is not inherently different from using a dedicated file: the same root, index, listen, and host-selection rules apply. The practical difference is organization. A dedicated block can be enabled or disabled with one symlink and leaves the packaged default untouched, while an in-place edit puts your site settings into a file that may be replaced or changed when package defaults are maintained.
Why the welcome page is still showing
The files are in the wrong root
Nginx appends the URI to the configured root. If the block says root /var/www/example.com; but your files are under /var/www/html, Nginx will not find them there. Read the active block from nginx -T, then move the files or change the root to the directory that actually contains your site.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →A different server block wins
A request is selected by listen address and port and then by the Host header. A missing, misspelled, or incomplete server_name causes the request to fall through to the port’s default server. Test with the exact host header and inspect which block has default_server. Include every hostname you expect users to enter, such as both the bare and www names when both should serve the site.
Rank #4
- Easy Installation: Our gaming lights have been designed to enhance your entertainment experience. Simply position the led light bar next to your TV or game console to create a game room environment with ease. They come with USB power and a 60 inch cord for direct mounting and mobility
- Audio Syncing & Extensive Mode: The built-in high-sensitivity music sensor allows you to sync the TV led lights to your favorite music. Lights react and move to the beat of music, film and game audio, creating an incredible immersive sound and light experience – and all without the need for an additional hub. You can choose from 64+ patterns, including strobe, illusion, jump, energy, gradient, running, chasing, fluttering mode etc. Each mode can be applied to different scenes
- 64+ Chasing IC+RGB & W Effect: The independent control design of IC+RGB and white all-in-one multifunctional rgbw led bar lights monitor backlight allows you to easily switch the led lights for desk between IC+RGB and white to enjoy a variety of lighting effects, you can choose white lighting mode with high brightness for better illumination when working, etc. Choose IC+RGB lighting mode when you need to create an entertaining atmosphere for the light show, 16 million colours of Color changing rgb light bar let you dance to the beat and create a dynamic party atmosphere
- Dynamic and Dimmable Lights: 1%-full brightness free brightness adjustment gives you the flexibility to adjust dimmable led light bar for room decorations or a variety of occasions
- USB Powered: USB light bars for room can be powered by powernank, usb charger, TV, Monitor, laptop PC mainframe, making behind TV led lighting bar easy to install in any location.TV led lights are powered by the TV usb interface / PC mainframe, can be turned on/off synchronously with TV / PC
The default symlink is still enabled
On Ubuntu, the default site can remain loaded through /etc/nginx/sites-enabled/default. If it is still the block selected for the request, its own index file will be returned. Disable that symlink only after verifying that your replacement block is enabled and has the intended listen and name settings.
The index filename does not match
Directory requests use the configured index value, which defaults to index.html. If your entry file is named something else, either rename it to index.html or set the matching directive, for example:
index home.html;
Make sure the named file exists directly under the configured root. An index setting does not change the root; it only tells Nginx which file to seek when the request identifies a directory.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →You edited a file Nginx does not load
Distribution layouts vary, and an apparently plausible file may not be included by the running service. Use sudo nginx -T to see the merged configuration and locate the block that is actually listening. Edit that source file or the enabled link’s target, then test and reload. This also reveals duplicate server_name entries and unexpected default servers.
The configuration was changed but not reloaded
Editing a file does not alter workers that are still using the previous configuration. Run sudo nginx -t first, then sudo systemctl reload nginx. If the syntax test fails, Nginx will not safely apply the new settings; fix the reported line and test again.
The request uses a different port or address
A block listening on port 80 does not answer a request that arrives on another port unless a matching listen directive exists there. Likewise, IPv4 and IPv6 listen directives can select different available blocks on some systems. Compare the URL you test, the listen lines, and the block shown by nginx -T. The local curl example deliberately targets IPv4 port 80, so use the port and address that match your deployment when testing another listener.
A repeatable diagnostic checklist
- Run
sudo nginx -T. - Identify the server block for the requested port and note its
root,index,server_name, anddefault_serverstatus. - Confirm that the site’s entry file is physically inside that root.
- Check that the requested hostname exactly matches a
server_namein the intended block. - Look for another block with the same name or a competing default.
- Enable the intended file under
sites-enabledif you are using Ubuntu’s multi-site layout. - Remove the packaged default symlink only when it is no longer needed.
- Run
sudo nginx -t. - Run
sudo systemctl reload nginx. - Verify with the real domain or with
curl -H 'Host: example.com' http://127.0.0.1/.
What to verify before calling the change complete
- The intended server block is visible in the output of
nginx -T. - The
rootpoints to the directory containing your deployed files. - The configured
indexname matches the actual entry file. - The domain in the browser or
Hostheader matchesserver_name. - No unintended default server is catching the request.
sudo nginx -tsucceeds.- The service has been reloaded after the successful test.
Frequently asked questions
Which Nginx file controls the default welcome page on Ubuntu?
In Ubuntu’s packaged layout, the enabled default server is normally /etc/nginx/sites-enabled/default, usually linked to a file in /etc/nginx/sites-available. Confirm the actual loaded block with sudo nginx -T, because installation methods and distributions can use different paths.
PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchCan I simply overwrite /var/www/html/index.html?
Yes, if the request is handled by the packaged default block whose root is /var/www/html and whose index is index.html. If another server block, root, or index is active, overwriting that file will not affect the response. Inspect the merged configuration first.
Why does the page work at the IP address but not at my domain?
The IP request may be reaching the port’s default server, while the domain sends a Host header that selects another block. Add the domain and any intended alias to server_name, then test the selection directly with curl -H 'Host: example.com' http://127.0.0.1/.
Best Value
- Compatible with Wide Screens - To ensure compatibility with the dual monitor mount, your each monitor must meet three conditions at the same time: First, computer screens size range: 13 to 32 inches. Second, screen weight range: 4.4 to 19.8 lbs. Third, the back of the monitor screen must have VESA mounting holes with a pitch of 75x75mm or 100x100mm.
- Regarding the compatibility with desks - Your desk must meet three conditions at the same time: First, desk material: Only wooden desks are recommended, plastic or glass desks cannot be used. Second, desk thickness range: 0.59" - 3.54". Third, the bottom of the desk should not have any cross beams or panels, as this will interfere with installation. We recommend carefully checking that your desk and monitors meets all above conditions before purchasing.
- Dual C-Clamp Hold - Worried your dual monitors might wobble or slip? Our upgraded base uses a larger platform plus a dual C-clamp structure to lock the dual monitor arm firmly to your desk. Each arm safely keeps your screens steady while you type, click and game—no shaking, no sliding, just a clean and secure setup you can trust every day. It also provides Grommet Mounting installation choice, both options ensure stable and secure fixation for your 0.59" - 3.54" desk.
- Full-Motion Adjustment For Comfortable View - Pull the screen closer when you’re deep in a spreadsheet, push it back to watch videos, or rotate to portrait for coding — moving everything smoothly with just one hand. The monitor stand offers +85°/-50° tilt, ±90° swivel and 360° rotation. Raise your monitor up to 15.75″ to support a healthy sitting posture. Whether you’re working from home, gaming through the night, or switching between video calls and documents, getting the screens to your natural line of sight helps relieve neck, shoulder and back strain so you can stay focused longer with less fatigue.
- Keep Your Desk Organized: By lifting both screens off the desktop, this dual monitor stand opens up valuable space for your keyboard, notebook, docking station or a simple, clutter-free work area. Built-in cable management guides wires along the arms, keeping cords out of sight and out of the way. Enjoy a tidy, modern workstation that looks as good as it feels to use.
Do I have to remove the default site?
No. A correctly matching, enabled server block can serve your domain while the default remains available for unmatched requests. Remove /etc/nginx/sites-enabled/default only when you no longer want that fallback and have confirmed another block will answer the required port.
What does default_server do?
It identifies the server block that receives requests for that listen address and port when the host name does not match another block. A welcome page that persists after uploading files is often evidence that this fallback block, rather than your intended block, is answering.
What if my homepage is called home.html?
Either rename it to index.html or set index home.html; in the active server block. The named file must be located under that block’s configured root.
Why does nginx -t pass but the old page remain?
A syntax test confirms that the configuration is valid; it does not prove that the request selects the block you intended. Check the host header, listen port, default server, root, and index in nginx -T, then reload after the successful test.
Is a restart required?
No. After sudo nginx -t succeeds, Ubuntu documents sudo systemctl reload nginx for applying the change. A reload reads the new configuration without stopping the service.
How do I know whether DNS is the problem?
Send the expected host header to the local server address. If curl -H 'Host: example.com' http://127.0.0.1/ returns your site, Nginx’s host selection is working locally and the public DNS path may still point elsewhere or not have updated.
Should I edit sites-available or sites-enabled?
Keep the configuration file in sites-available and enable it with a symbolic link in sites-enabled. The running service loads the enabled configuration. The output of nginx -T shows which files are actually included.
Frequently Asked Questions
What is the fastest fix for Ubuntu’s Nginx welcome page?
Confirm the active root with sudo nginx -T, place your index.html in that root, test with sudo nginx -t, and reload with sudo systemctl reload nginx. If the domain still selects the default block, create and enable a matching server block or remove the unused default symlink.
Why does Nginx show the welcome page after I uploaded my website?
The files may be in a different directory from the active root, the request may be going to the port’s default server because server_name does not match, the default site may still be enabled, or the index filename may differ from the configured index value.
What command shows which Nginx configuration is active?
Run sudo nginx -T. It prints the merged configuration, including included files, server blocks, listen directives, roots, indexes, names, and default-server settings.
Recommended Free Tools
The Bottom Line
Replacing the Nginx welcome page is a configuration-selection task, not just a file-upload task. Identify the server block that receives the request, match its root, server_name, and index to your site, enable or disable the appropriate Ubuntu symlinks, run sudo nginx -t, reload Nginx, and verify with the exact host name.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




