Nginx
This example uses Nginx, one of the most popular web servers.
Nginx can be used with Unikraft / Unikraft Cloud to serve static web content.
To run this example, follow these steps:
- Install the CLI. Use the unikraft CLI or the legacy kraft CLI. You need a BuildKit builder. The easiest way to get one is via Docker. Alternatively, you can also directly set up and use BuildKit, see the quick start.
The unikraft CLI is the current standard, while kraft is the legacy version. Choose one of the CLIs below and only run the commands associated with it for the rest of this guide.
- Clone the
examplesrepository andcdinto theexamples/nginx/directory:
Code
Make sure to log into Unikraft Cloud and pick a metro close to you.
This guide uses fra (Frankfurt, 🇩🇪):
When done, invoke the following command to deploy this app on Unikraft Cloud:
The output shows the instance address and other details:
In this case, the instance name is nginx-67zbu and the address is https://nameless-fog-0tvh1uov.fra.unikraft.app.
They're different for each run.
Use curl to query the Unikraft Cloud instance of Nginx.
Code
Code
You can list information about the instance by running:
When done, you can remove the instance:
Customize your app
To customize the Nginx app, update the files in the repository, listed below:
Kraftfile: the Unikraft Cloud specificationrootfs/wwwroot/index.html: the index page of the content servedrootfs/conf/nginx.conf: the Nginx configuration file
Update the contents of the rootfs/wwwroot/ directory to serve different static web content.
For example, you could change the contents of rootfs/wwwroot/index.html to:
Code
After re-deploying the Nginx image on Unikraft Cloud, using curl or a browser to query it will present the new page contents.
Tools like Jekyll or Hugo can generate the static web content located in the rootfs/wwwroot/ offline.
If required, you can also customize the configuration of Nginx in rootfs/conf/nginx.conf.
You can set a new webroot (different than wwwroot), or a different internal port, or a different index page, etc.
Learn more
Use the --help option for detailed information on using Unikraft Cloud:
Or visit the CLI Reference or the legacy CLI Reference.