Perl HTTP Server
This guide explains how to create and deploy a simple Perl-based HTTP web server. To run this example, follow these steps:
-
Install the unikraft 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.
-
Clone the
examplesrepository andcdinto theexamples/httpserver-perl5.42/directory:Code
Make sure to log into Unikraft Cloud and pick a metro close to you.
This guide uses fra (Frankfurt, 🇩🇪):
Code
When done, invoke the following command to deploy this app on Unikraft Cloud:
Code
The output shows the instance address and other details:
Code
In this case, the instance name is httpserver-perl542-xue8j and the address is https://fragrant-water-wau08gaw.fra.unikraft.app.
They're different for each run.
Use curl to query the Unikraft Cloud instance of the Perl-based HTTP web server:
Code
Code
You can list information about the instance by running:
Code
Code
When you list your instances, you might notice they show as standby. This is normal behavior and means the instance is using Unikraft Cloud's scale-to-zero feature that saves resources when there is no traffic. To check your instance is working, open two terminals and use these commands to watch the status:
Code
It switches to "running" then back to "standby."
When done, you can remove the instance:
Code
Customize your app
To customize the app, update the files in the repository, listed below:
server.pl: the actual Perl HTTP server implementationKraftfile: the Unikraft Cloud specificationDockerfile: the Docker-specified app filesystem
The following options are available for customizing the app:
-
If you only update the implementation in the
server.plsource file, you don't need to make any other changes. -
If you create any new source files, copy them into the app filesystem by using the
COPYcommand in theDockerfile. -
More extensive changes may require extending the
Dockerfile(seeDockerfilesyntax reference).
Learn more
Use the --help option for detailed information on using Unikraft Cloud:
Code
Or visit the CLI Reference.