Static Websites
0. Learn basic HTML + CSS.
1. Build (or use) a static site generator.
2. Use it to generate the static web pages.
3. Deploy those pages to a VPS, that is running a web server like NGINX (or whatever).
4. In the process learn about ssh, git, rsync, TLS, certs etc.
Dynamic Web Applications
1. Learn any programming language. Building your own SSG in Step 1 from the previous section ensures this.
2. Use it to create a basic backend API server.
3. Make a basic UI, and some JS which communicates with the backend, dynamically updates the UI.
4. Maybe have a database for some persistence.
5. Learn about auth/security, request validation, API design.