End of Summer: apps from $12/yr
All posts

Host a static website with Nginx — without managing a VPS

Robert DavisAugust 28, 20263 min read
NginxStatic SitesCloud AppsSelf-Hosting
Host a static website with Nginx — without managing a VPS

A static website should not require a weekend of server maintenance.

For a landing page, documentation site, portfolio, small business site, or a hand-built HTML project, the actual software requirement is refreshingly small: a reliable web server that can serve files quickly. Nginx has been one of the standard answers to that problem for years.

It is now available in the Caliber Node Cloud App catalog. The point is not to turn Nginx into a mystery box. It is to keep the parts people want — fast static hosting and a real Nginx configuration — while removing the work of maintaining a whole VPS just to publish a few files.

What Nginx is good at

Nginx is a web server. In this setup, it serves the HTML, CSS, JavaScript, images, and downloads that make up a static website. There is no database, WordPress dashboard, or administrator account to protect.

That makes it a good fit when your site is built with a static-site generator such as Hugo, Astro, Eleventy, Jekyll, or a plain folder of files you wrote yourself. Build the site wherever you like, then upload the finished output.

How the Caliber Node Nginx app is laid out

After deploying Nginx, open the Files tab in the app page and create SFTP access. Your login is limited to that app; it cannot see another customer's files or the host operating system.

  • /data is the website document root. Upload your index.html, assets, and generated site files here. It maps to Nginx's /usr/share/nginx/html directory.
  • /config is the persistent Nginx configuration folder. It maps to /etc/nginx/conf.d.

The first file you will see is Nginx's standard welcome page. Replacing it with your own index.html is enough to publish a basic site. Your files remain on a persistent volume, so restarting the app or applying a container update does not overwrite them.

A simple first deployment

  1. Deploy the Nginx Cloud App and choose a name and region.
  2. Open its Files tab and select Set up SFTP access.
  3. Connect with an SFTP client such as FileZilla, Cyberduck, WinSCP, or the sftp command.
  4. Open /data and upload the contents of your built static site. Upload the files inside your build folder, not the folder itself.
  5. Open the app address. Your new index.html should replace the welcome page.

For most static sites, that is the whole workflow. Build locally or in CI, upload the output, and refresh the page.

When you need a real Nginx configuration

The /config folder is there for the cases that need more than file hosting: custom cache headers, redirects, a different default document, extra locations, or security headers appropriate to your site.

Configuration changes are powerful, so make one change at a time and keep a local copy of the last known-good file. Once you upload a change to /config, restart the app from the portal to load it. If a configuration typo prevents Nginx from starting, the app logs are the fastest place to find the line that needs correcting.

Nginx is intentionally a low-level option. If you want a site editor, themes, users, and plugins, a managed WordPress app is usually the friendlier choice. If you want direct control of the files that answer a request, Nginx is a much cleaner fit.

Why not just use a VPS?

You can absolutely run Nginx on a VPS. For a project that also needs SSH, multiple unrelated daemons, custom networking, or operating-system-level control, that is the right tool.

But a static site does not automatically need that responsibility. A VPS means patching the operating system, deciding how to run Docker or Nginx, managing firewall rules, watching disk space, and making sure a configuration mistake does not leave the site down. Managed app hosting keeps the app, storage, resource limits, HTTPS routing, and basic lifecycle controls in one place while leaving your website files portable over SFTP.

Keep a copy of what matters

Nginx has no database, but your site files are still your site. Keep the source in Git when possible and treat the deployed /data folder as a published copy. Snapshots are useful before a large redesign or configuration change; an SFTP download is a simple extra copy when you want one.

The goal is straightforward: publish your site without giving up ownership of its files or volunteering to maintain infrastructure you do not need.

Explore Caliber Node Cloud Apps or deploy Nginx from the customer portal.

Ready to deploy?

Deploy an app from the catalog in minutes. No contracts, no setup fees.