Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →To replace Nginx’s “Welcome to nginx!” page, make Nginx serve your files from the correct root, set the entry filename with index, ensure the request matches your site’s server_name, enable that server block, then test and reload Nginx. On Ubuntu’s packaged layout, the default site is usually /etc/nginx/sites-enabled/default and its document root is /var/www/html.
Antihost offers Linux VPS plans with full root access, unlimited traffic on a 1 Gbps port and a 14-day free trial.
If the welcome page remains after you upload files, Nginx is normally using a different root, selecting another server block as the port’s default, finding the old default symlink still enabled, or looking for an index filename that does not exist.
As an Amazon Associate I earn from qualifying purchases.
What actually controls the page Nginx returns?
Nginx does not serve a file merely because it exists somewhere on the server. For a request such as http://example.com/about.html, Nginx takes the selected server block’s root directory and appends the request URI. With root /var/www/example.com;, that request maps to /var/www/example.com/about.html.
When the request targets a directory, such as /, the index directive supplies the filename to look for. Nginx’s documented default is index.html; setting it explicitly avoids confusion when your entry file has another name.
#1 Best Overall
- [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
- [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
- [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
- [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
- [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.
The server block is selected in two stages: Nginx first considers the listening address and port, then compares the request’s Host header with each block’s server_name. If no name matches, Nginx sends the request to that port’s default server. That selection rule is why a correctly uploaded site can still be hidden by the welcome page.
Ubuntu’s default files and directories
Ubuntu’s packaged single-site configuration serves files from /var/www/html. The enabled configuration is commonly the symlinked file /etc/nginx/sites-enabled/default, which points to a file under /etc/nginx/sites-available. These paths describe Ubuntu’s package layout, not a universal Nginx requirement; other distributions and manually compiled installations may use a different configuration structure.
Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Repair Windows errors before they cause bigger problems3Scan for outdated or missing drivers - takes under a minuteThe authoritative answer on any server is the merged configuration Nginx is actually running. Use sudo nginx -T to print it, then inspect the relevant listen, server_name, root, index, and default_server directives.
Choose the replacement method
| Approach | Best for | Advantages | Trade-offs |
|---|---|---|---|
| Edit the packaged default block | A single, simple site on a server that will not host additional domains | Fewest files and commands; the existing listener is already enabled | Less separation between the distribution’s sample configuration and your site; adding more domains later is less tidy |
| Create a dedicated server block | One or more real domains, or a setup you expect to expand | Clear per-site configuration; enable and disable sites with symlinks; easier to maintain multiple roots | Requires creating a file, enabling it, and deciding whether to remove the old default symlink |
Whichever method you choose, compare the same details: the active root, the exact server_name, the listening address and port, the index filename, and whether another block is marked default_server.
Before you change anything
- Have shell access with permission to run
sudo. - Know the hostname visitors will use, including whether they will use both the bare domain and
www. - Have a complete site directory containing an entry file such as
index.html, plus its CSS, JavaScript, images, and other assets. - Know which port the site should answer on. The examples below use HTTP port 80.
- Keep a backup of any configuration file you edit, especially if the server already hosts another site.
Do not remove the default symlink until your replacement block has the intended listen and server_name values and passes a configuration test. Removing it too early can leave the server without a useful response.
Recommended method: create a dedicated site
1. Inspect the active configuration
Start by looking at the merged configuration rather than guessing which file is active:
sudo nginx -T
In the output, locate the server block listening on the port you are testing. Confirm which block contains default_server, which block contains your domain in server_name, and which root is in effect. A file under sites-available has no effect until it is included or enabled; the output of nginx -T shows what Nginx has actually loaded.
Read the output as a map of the running service. The file name printed before each included block tells you where a directive came from, while the surrounding server block tells you which listener and hostname it belongs to. If several blocks listen on port 80, note the address as well as the port: an IPv4 listener and an IPv6 listener can have different configuration.
2. Put the site files in a document root
For Ubuntu’s single-site setup, the documented root is /var/www/html. You can use that directory for a quick replacement, or create a separate directory for the domain:
sudo mkdir -p /var/www/example.com
sudo cp -a ./your-site/. /var/www/example.com/
Replace ./your-site/ with the directory containing your deployed files. The destination should contain the file you intend to serve, for example /var/www/example.com/index.html. If the files are owned by a deployment account, make sure the Nginx worker can traverse the directory and read the files; a site that is in the right root but unreadable can produce an error instead of the expected page.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Rank #2
- 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
- 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
- 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
- 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
- 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.
Check the path literally. A request for /css/site.css must correspond to /var/www/example.com/css/site.css when that is the configured root. Uploading a folder one level too deep, such as /var/www/example.com/your-site/index.html, means the root does not contain the expected entry file. Copy the contents of the site directory, as in the command above, rather than unintentionally copying the directory itself.
3. Create a server block
Create /etc/nginx/sites-available/example.com with a minimal static-site configuration:
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;
}
}
Change the domain names and root path to your values. The IPv6 listener is useful only when the host has IPv6 configured and DNS publishes an IPv6 address; if it is not appropriate for your server, remove that line rather than leaving an unusable listener.
The try_files rule checks the requested path and returns a 404 when no file or directory exists. It prevents an arbitrary fallback from masking missing assets. For a static site whose application requires a front-controller fallback, the rule would need to be designed for that application instead of copied unchanged.
The root applies to the location unless a more specific location overrides it. Keep the first configuration simple while replacing the welcome page. Add application-specific locations only after the basic hostname, root, and index behavior works; otherwise a second location can make it harder to identify whether the problem is server selection or file mapping.
4. Enable the site
Create the standard symlink from sites-enabled to your new file:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/example.com
The symlink is what makes the site part of Ubuntu’s included configuration. If a symlink with that name already exists, inspect it before replacing it so you do not overwrite an intentional configuration.
Enabling does not reload Nginx automatically. It changes the files that will be read the next time Nginx tests or reloads its configuration, so continue with the syntax check before expecting a browser request to change.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minutePC 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 & 115. Disable the competing default site when necessary
If the old welcome block is still enabled and your request does not match the new server_name, the old block can continue to answer. After confirming that your replacement file is enabled, remove the default symlink:
sudo rm /etc/nginx/sites-enabled/default
Do this only when the default site is no longer needed. Removing a symlink does not delete the source file under sites-available; it simply stops that configuration from being included through the standard enabled-sites directory.
Rank #3
- [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
- [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
- [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
- [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
- [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by
You may leave the default block enabled when it is deliberately your fallback for unknown hostnames. In that case, make sure the requested hostname exactly matches your new block. Removing it is useful when an obsolete welcome page should never be returned, but it is not a substitute for correcting a missing or misspelled server_name.
6. Test syntax before applying the change
Always validate the complete configuration:
sudo nginx -t
A successful test reports that the syntax is okay and the configuration test is successful. If it fails, Nginx identifies a file and line number. Correct that error before reloading; a failed test means the running worker processes continue using the previous configuration.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Run the test after every change to a server block, symlink, listener, or included file. A typo in a new file can prevent a reload even though the old configuration continues serving traffic. Treat a successful test as a prerequisite, not as confirmation that the intended hostname will be selected; host matching still needs a request test.
7. Reload Nginx
Apply a valid configuration with a reload:
sudo systemctl reload nginx
A reload asks the running service to read the new configuration without requiring a full stop and start. If the service is not running, or if your installation uses a different service manager, check its service status and use the appropriate operating-system command.
Reloading does not move files or change DNS. It only applies the configuration that passed the test. If the browser still displays an older response, verify the public hostname and port, then use a direct local request to separate Nginx selection from DNS or browser caching issues.
8. Verify the exact host
Test the public hostname in a browser, then test locally with the same Host header:
curl -H 'Host: example.com' http://127.0.0.1/
This request tests Nginx’s virtual-host selection without waiting for DNS changes. The response should contain your site’s HTML rather than the welcome-page text. To test the www name, substitute it in the header and make sure it is listed in server_name.
Also request a known asset, such as /css/site.css, and a nonexistent path. The asset confirms that URI-to-root mapping works beyond the index file; the nonexistent path should produce the configured 404 response. These checks help distinguish a wrong root from a page that merely contains unexpected content.
Short method: replace the packaged default in place
For a server hosting only one static site, editing the enabled default block can be sufficient. First inspect the file that nginx -T shows as active, then back it up:
sudo cp /etc/nginx/sites-enabled/default /etc/nginx/sites-enabled/default.backup
Edit the active block and set the relevant values:
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name example.com www.example.com;
root /var/www/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
Place your site’s files in /var/www/html, run sudo nginx -t, and then run sudo systemctl reload nginx. This method is shorter because the block is already enabled. It is not a substitute for setting the correct hostname: a request for a different configured domain can still be routed elsewhere when other server blocks exist.
Rank #4
- Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
- Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
- All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
- Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
- Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.
Editing the packaged file is reasonable for a disposable single-site machine, but a dedicated file is easier to identify later. If you choose the in-place method, record the backup location and remember that package updates or future administration may treat the file as the distribution’s default configuration.
Why the welcome page persists
The files are in the wrong root
If the active block says root /var/www/html;, uploading files to /home/user/site does not change what Nginx serves. Move or copy the files into the configured root, or change the block’s root to the directory you intend to use. Remember that Nginx appends the URI to that root, so a request for /images/logo.png must resolve to a real file beneath it.
The request is reaching the default server
A missing, misspelled, or mismatched server_name causes Nginx to use the default server for that port. Check the spelling, punctuation, and whether the request uses an unexpected hostname. The local test with curl -H 'Host: example.com' isolates this selection problem.
The default symlink is still enabled
Ubuntu’s default symlink can continue to load its own welcome-page file. Inspect nginx -T for the old block and remove /etc/nginx/sites-enabled/default when that site is no longer required. Test and reload after the removal.
Free tools Windows power users keep installed
One-click scans. No signup required.
The index filename does not match
A directory request uses the configured index name, which defaults to index.html. If your file is called home.html, either rename it to index.html or set index home.html; in the relevant server block. Ensure the file is in the configured root, not merely present elsewhere on the machine.
You edited a file Nginx does not load
Package layouts differ, and a file under sites-available is inert unless it is included or linked. The output from sudo nginx -T is the reliable way to identify loaded files. If your edits do not appear there, enable the file or edit the configuration that is actually included.
Another block claims the same default role
Search the merged output for every default_server and every occurrence of your hostname. A duplicate name or an unintended default listener can capture the request. Keep one deliberate default for each address-and-port combination, and give each hosted domain an unambiguous server_name.
The hostname and port do not match
A configuration listening on port 80 cannot control a request that has been redirected to HTTPS on port 443. Likewise, testing an IP address sends a different Host value than testing the domain. Confirm the URL scheme, port, and hostname, then inspect the corresponding server block in nginx -T.
Recommended Free Tools
Check DNS, IPv4, and IPv6 separately
Your browser may resolve a domain to an address different from the server you just configured. Verify that the domain’s A record points to the server’s IPv4 address and, if an AAAA record exists, that the IPv6 address also reaches this Nginx instance. The configuration’s listen [::]:80; line only helps when IPv6 connectivity is actually available.
While DNS is being changed, the loopback test with an explicit Host header confirms virtual-host selection on the server itself. Once DNS is correct, test the public hostname over the same protocol and port visitors will use. If HTTP redirects to HTTPS elsewhere, inspect the HTTPS server block as well; changing only port 80 cannot alter a separate TLS listener.
Best Value
A practical verification checklist
- Configuration loaded: Your server block appears in
sudo nginx -T. - Correct listener: The block listens on the address and port being requested.
- Hostname match: The requested Host header is listed in
server_name. - Correct root: The configured path contains the intended entry file.
- Correct index: The
indexvalue matches the actual filename. - Site enabled: The file is included, commonly through a symlink in
sites-enabled. - Default conflict removed: An obsolete default symlink or duplicate block is no longer capturing requests.
- Syntax valid:
sudo nginx -tsucceeds. - Change applied: Nginx was reloaded after the successful test.
- Exact host tested: Both the bare domain and any
wwwalias return the intended content. - Asset path tested: A CSS, JavaScript, or image URL resolves beneath the same root.
- DNS checked: A and, when present, AAAA records point to this server.
What to keep after the replacement
Keep the configuration organized by site, retain a backup of the last known-good version, and run sudo nginx -t before every change is reloaded. When adding another domain, create another dedicated server block with its own server_name and root rather than repeatedly modifying a shared default. If a future change unexpectedly shows the welcome page again, begin with nginx -T; it reveals the effective configuration and the server block Nginx can actually select.
Document which hostname aliases belong to each site and which listener handles them. That small record prevents a common maintenance mistake: adding a new block for the bare domain while forgetting www, or adding a second block that silently becomes the default for an address and port. Keep deployment files in the directory named by root, and verify the entry filename whenever a site is replaced.
Outdated 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 matchWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallFrequently Asked Questions
Which Nginx file controls the default welcome page on Ubuntu?
In Ubuntu’s packaged layout, the enabled default server is commonly /etc/nginx/sites-enabled/default, usually linked to a file in /etc/nginx/sites-available. Do not assume that path on every installation; run sudo nginx -T and edit the file whose server block is actually included.
Can I simply replace /var/www/html/index.nginx-debian.html?
You can replace the content in the active document root, but the configured index filename still matters. If the block uses index index.html;, provide /var/www/html/index.html or change the directive to the filename you use. Check the active root and index values before copying files.
Why does the welcome page appear when my files are uploaded correctly?
The request may be selecting the default server because its Host header does not match your server_name. It may also be using an old enabled default symlink, a different root, or an index filename that is not present. Inspect nginx -T, then test with curl -H 'Host: example.com' http://127.0.0.1/.
Do I have to remove the default symlink?
No. If your hostname matches the dedicated block, Nginx can serve it while the default remains as a fallback for other names. Remove /etc/nginx/sites-enabled/default only when that welcome site is no longer wanted, and test and reload after removal.
What is the difference between sites-available and sites-enabled?
On Ubuntu’s standard layout, sites-available stores configuration files, while a symlink in sites-enabled makes a site part of the included configuration. A file that exists only under sites-available does not affect Nginx until it is linked or included.
Should I edit the default block or create a new server block?
Editing the packaged default is shorter for one uncomplicated site. A dedicated block is easier to maintain when you use a real domain, expect more domains, or want each site to have its own root and enable/disable symlink. Both approaches still require checking the listener, hostname, root, index, and default-server behavior.
What does try_files $uri $uri/ =404; do?
It checks whether the requested URI maps to an existing file or directory beneath the configured root. If neither exists, Nginx returns a 404 instead of silently serving an unrelated fallback. Applications that need a front-controller fallback require a different rule designed for that application.
Why does curl work locally but the browser still shows the old page?
The browser may resolve DNS to another server, use IPv6 while you configured only IPv4, or follow an HTTPS redirect handled by a different server block. Check the domain’s A and AAAA records, test the public hostname, and inspect both the port 80 and TLS configurations shown by nginx -T.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →The Bottom Line
Find the loaded server block with sudo nginx -T, put the site under its intended root, set the correct index and server_name, enable a dedicated file or edit the packaged default, then run sudo nginx -t and sudo systemctl reload nginx. If the welcome page remains, test the exact Host header and check for a wrong root, an unmatched hostname, an enabled default symlink, a duplicate default server, or a separate HTTPS/IPv6 configuration.
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.




