Not every website needs code. A portfolio, a landing page, a documentation site, a game jam entry — if it's HTML, CSS, JavaScript, and images, you can host it on Falix without writing a single line of backend logic. A real nginx web server does the work; you just supply the files.
| At a glance | |
|---|---|
| You need | A server running the PHP Web Server application (we only use its nginx part — no PHP required) |
| Plan | Any plan |
| Time | Ten minutes |
New to creating servers? Start with Create your first app server.
Step 1 — Deploy the Static Website template
Use the template on this page. It writes an nginx setup plus a sample public/ folder onto your server, and — this is the part that saves you the headache — it wires your assigned SERVER_PORT into the nginx config automatically, so the site comes up on your public port with no editing.
A template only overwrites files with the same names, so it won't touch unrelated files.
⚠️ Heads up: If you deploy it onto a server currently running a different application (say Node.js), the panel will switch that server to PHP Web Server first, which reinstalls it and wipes its files — it warns you before doing so. On a fresh PHP Web Server, there's nothing to lose.
Step 2 — Start it and check the sample
Press Start, then open your server's address from the Network page in a browser (see Your first web app for exactly where that address lives). You'll get an "It works!" page. That confirms nginx is serving public/ on your port.
Step 3 — Replace the files with your own
Your whole site lives in the public/ folder. Open the File Manager, go into public/, and replace index.html, style.css, and the rest with your own files — or upload them over SFTP if you'd rather drag a folder across. The file layout maps straight to your URLs:
| File | URL |
|---|---|
public/index.html |
/ — your home page |
public/about/index.html |
/about/ |
public/blog/post.html |
/blog/post.html |
The home page must be named exactly public/index.html (lowercase), or the front page 404s. Structure your files the way you want your URLs to read.
Step 4 — See your changes
Edits to files in public/ are served live from disk — save the file, then refresh the page in your browser. You do not need to restart the server for content edits.
💡 Tip: If you don't see the change, it's almost always your browser's cache: do a hard refresh (Ctrl/Cmd+Shift+R) to bypass it.
The one exception is the nginx config itself (nginx.template.conf) — if you change that, restart the server so nginx re-reads it.
Content types and a custom 404
You don't set content types by hand. nginx sends the right Content-Type for every file from its built-in mime.types list — .css as text/css, .js as JavaScript, images, fonts, PDFs, and downloads all get their correct type automatically. There's nothing to configure.
One thing the template does not ship is a custom "page not found" page: out of the box, a missing URL returns nginx's plain built-in 404. To show your own, add a public/404.html, then edit nginx.template.conf and add one line inside the server { ... } block:
error_page 404 /404.html;
Restart the server so nginx re-reads the config, and any missing path now serves your 404.html. (It's the config file, so a content-style refresh isn't enough — this one needs the restart.)
Step 5 — Give it a real address
The address:port URL is fine for testing but ugly to share. When you're ready for a proper domain with automatic HTTPS, follow Domains and HTTPS.
Troubleshooting
- 404 on a page — the file name or path doesn't match the URL. Check spelling and case; confirm the home page is exactly
public/index.html, and that/about/has anindex.htmlinsidepublic/about/. - Changed a file but the old version still shows — it's cached in your browser, not stale on the server. Hard-refresh to bypass the cache; static files are served live, so no restart is needed for content edits.
- The site won't load at all — that's a reachability problem, not a file problem. Work through I can't reach my app.
Next steps
- Domains and HTTPS
- Deploy your site from Git
- Need dynamic pages later? Host a PHP website or Build an Express website + API