Learn how to deploy Envoy
Who is this for?
This is an introductory topic for engineers who want to use Envoy on Arm.
What will you learn?
Upon completion of this Learning Path, you will be able to:
- Build, install, and run Envoy on Arm servers
- Setup Envoy as a web server
- Verify Envoy is working correctly
Prerequisites
Before starting, you will need the following:
- To run Envoy as a web server, you will need at least one Arm based instance from a cloud service provider or an on-premises Arm server.
- Network settings (firewalls and security groups) which allow communication on port 22 (SSH) and port 80 (HTTP).
Summary
This summary was drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
You’ll build, install, and run Envoy on an Arm-based Linux server in the cloud or on premises. First, you’ll review installation and connection options, then create a minimal YAML configuration with an HTTP listener on
0.0.0.0:80. Then, you’ll run Envoy as a service, open SSH and HTTP access, and verify traffic on port 80.Frequently asked questions
These FAQs were drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
Envoy should load the YAML without errors, bind to
0.0.0.0:80, and begin handling HTTP traffic. If startup fails, recheck the YAML formatting and location of configs/config-http.yaml.The sample configuration sets the listener to
0.0.0.0 on port 80 in the socket_address section. This makes Envoy accept HTTP connections on all interfaces.Save the file as
configs/config-http.yaml. Start Envoy so it reads that file, and it will apply the listener and HTTP settings.Confirm that firewalls and security groups allow inbound HTTP on port 80. Also verify the YAML listener uses
0.0.0.0:80 and that Envoy is running.Run
sudo bazel-bin/source/exe/envoy-static.stripped -c configs/config-http.yaml --concurrency 16 &. The -c option selects the configuration file, and --concurrency 16 sets the worker-thread count.