simdeploy
Learn / Fundamentals

How to host a website on Ubuntu (and when to skip it)

The real steps to host a website on an Ubuntu server — Nginx, TLS, firewall, deploys — and the one-command alternative for when you just want it live.

Updated 2026-09-08

The real steps on an Ubuntu server

Hosting a site on a bare Ubuntu VPS is a sequence of operational steps, each of which stays your responsibility afterwards. You provision the server and pick its size and region; you connect over SSH with a key; you install and configure a web server such as Nginx; you point your domain's DNS at the box; you obtain and auto-renew a TLS certificate (typically Certbot/Let's Encrypt); you configure a firewall (ufw) and harden SSH; and you build a way to get new versions of your site onto the machine — an rsync script, a Git hook, or a CI pipeline.

None of that is one-time. The server keeps needing OS security updates, certificate renewals, log rotation, monitoring and backups. That work is the price of full control, and it is worth paying when you genuinely need the machine — custom system packages, a database you administer, or long-running background processes.

The one-command alternative

If the goal is simply your site live at a URL, you do not need to operate a server at all. SimDeploy builds your project on your own machine, uploads only the output, and publishes it with automatic TLS and a verified HTTP health check — one command, no Nginx, no Certbot, no firewall to maintain. Today this covers static builds end-to-end: Vite, Create React App, static Astro, and Next.js with output: export. Server-rendered and serverless targets are planned and return a clear, typed error rather than a partial deploy.

Command: simdeploy deploy --yes. You get a public URL back; a coding agent (Claude Code, Codex, Cursor) can run the same command through the CLI or the MCP server.

FAQ

How do I put a website on an Ubuntu server?

Provision the server, connect over SSH, install a web server (Nginx), point your domain's DNS at it, obtain a TLS certificate with Certbot, configure a firewall, and set up a way to deploy new versions. You then maintain OS updates, certificate renewals and backups going forward.

Do I need Nginx to host a website?

On a raw Ubuntu VPS you need a web server such as Nginx (or Apache/Caddy) to serve files and terminate TLS. With a one-command deploy platform there is no web server for you to install or configure — publishing and TLS are handled for you.

Is there an easier way than setting up a VPS?

Yes. If you only need the site live, SimDeploy publishes a static build with one command — no server to provision, patch or secure. A VPS is only necessary when you need full control of the machine.

See what your project would actually cost

simdeploy analyze runs offline and prices every compatible architecture from provider price tables — before any deploy.

Deploy now

Keep reading

More guides