Meson (pip3 install meson) Ninja; Clang and LLD (on mac, brew install llvm, on linux, sudo apt install clang lld or sudo pacman -S clang lld or whatever) sqlite3 (this is so common it may already be installed on linux and is definitely already installed on mac. If not, do something like sudo apt install libsqlite3-dev). Something specific to Alpine? Something where we guess that if you're unable to run rustc and the host and build are musl then you can run whatever this apk is? We don't instruct Ubuntu/Debian people to apt install binutils or for Fedora people to play with yum. Where is the cutoff and where does the documentation go, and who is responsible for.
How to install the protocol buffer compiler.
While not mandatory, gRPC applications often leverage Protocol Buffers forservice definitions and data serialization. Most of the example code from thissite uses version 3 of the protocol buffer language (proto3).
The protocol buffer compiler, protoc
, is used to compile .proto
files, whichcontain service and message definitions. Choose one of the methods given belowto install protoc
.
Install using a package manager
You can install the protocol compiler, protoc
, with a package manager underLinux or macOS using the following commands.
Warning
Check the version of protoc
(as indicated below) after installation toensure that it is sufficiently recent. The versions of protoc
installed bysome package managers can be quite dated.
Installing from pre-compiled binaries, as indicated in the nextsection, is the best way to ensure that you’re using thelatest release of protoc
.
Linux, using
apt
orapt-get
, for example:MacOS, using Homebrew:
Install pre-compiled binaries (any OS)
To install the latest release of the protocol compiler from pre-compiledbinaries, follow these instructions:
Manually download from github.com/google/protobuf/releases the zip filecorresponding to your operating system and computer architecture(
protoc-<version>-<os><arch>.zip
), or fetch the file using commands suchas the following:Unzip the file under
$HOME/.local
or a directory of your choice. Forexample:Update your environment’s path variable to include the path to the
protoc
executable. For example:
Other installation options
If you’d like to build the protocol compiler from sources, or access olderversions of the pre-compiled binaries, see Download ProtocolBuffers.
nginx: Linux packages
Supported distributions and versions Installation instructions RHEL/CentOS Debian Ubuntu SLES Alpine Amazon Linux Source Packages Dynamic Modules Signatures |
Supported distributions and versions

nginx packages are available for the following Linux distributions andversions:
Version | Supported Platforms |
7.4+ | x86_64, ppc64le, aarch64/arm64 |
8.x | x86_64, aarch64/arm64 |
Version | Supported Platforms |
10.x “buster” | x86_64, i386, aarch64/arm64 |
11.x “bullseye” | x86_64, aarch64/arm64 |
Version | Supported Platforms |
18.04 “bionic” | x86_64, aarch64/arm64 |
20.04 “focal” | x86_64, aarch64/arm64 |
21.04 “hirsute” | x86_64, aarch64/arm64 |
Version | Supported Platforms |
12 SP5+ | x86_64 |
15 SP2+ | x86_64 |
Version | Supported platforms |
3.11 | x86_64 |
3.12 | x86_64, aarch64/arm64 |
3.13 | x86_64, aarch64/arm64 |
3.14 | x86_64, aarch64/arm64 |
Version | Supported platforms |
2 (LTS) | x86_64, aarch64/arm64 |
Installation instructions
Before you install nginx for the first time on a new machine, you need toset up the nginx packages repository.Afterward, you can install and update nginx from the repository.
RHEL/CentOS
Install the prerequisites:
To set up the yum repository, create the file named/etc/yum.repos.d/nginx.repo
with the following contents:
By default, the repository for stable nginx packages is used.If you would like to use mainline nginx packages,run the following command:
To install nginx, run the following command:
When prompted to accept the GPG key, verify that the fingerprint matches573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62
,and if so, accept it.
Debian
Install the prerequisites:
Import an official nginx signing key so apt could verify the packagesauthenticity.Fetch the key:
Verify that the downloaded file contains the proper key:
The output should contain the full fingerprint573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
as follows:
If the fingerprint is different, remove the file.
To set up the apt repository for stable nginx packages,run the following command:
If you would like to use mainline nginx packages,run the following command instead:
Set up repository pinning to prefer our packages overdistribution-provided ones:
To install nginx, run the following commands:
Ubuntu
Install the prerequisites:
Import an official nginx signing key so apt could verify the packagesauthenticity.Fetch the key:
Verify that the downloaded file contains the proper key:
The output should contain the full fingerprint573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
as follows:
If the fingerprint is different, remove the file.
To set up the apt repository for stable nginx packages,run the following command:
If you would like to use mainline nginx packages,run the following command instead:
Set up repository pinning to prefer our packages overdistribution-provided ones:

To install nginx, run the following commands:
SLES
Install the prerequisites:
To set up the zypper repository for stable nginx packages,run the following command:
If you would like to use mainline nginx packages,run the following command instead:
Next, import an official nginx signing key so zypper/rpm could verifythe packages authenticity.Fetch the key:
Alpine Apt Install Update
Verify that the downloaded file contains the proper key:
The output should contain the full fingerprint573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62
as follows:

Finally, import the key to the rpm database:
To install nginx, run the following command:
Alpine
Install the prerequisites:
To set up the apk repository for stable nginx packages,run the following command:
If you would like to use mainline nginx packages,run the following command instead:
Next, import an official nginx signing key so apk could verifythe packages authenticity.Fetch the key:
Verify that downloaded file contains the proper key:
The output should contain the following modulus:
Finally, move the key to apk trusted keys storage:
To install nginx, run the following command:
The @nginx
tag should also be specified when installingpackages with dynamic modules:
Amazon Linux

Install the prerequisites:
To set up the yum repository, create the file named/etc/yum.repos.d/nginx.repo
with the following contents:
By default, the repository for stable nginx packages is used.If you would like to use mainline nginx packages,run the following command:
Alpine Apt Install Command
To install nginx, run the following command:
When prompted to accept the GPG key, verify that the fingerprint matches573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62
,and if so, accept it.
Source Packages
Packaging sources can be found in thepackaging sources repository.
The default
branch holds packaging sources for the currentmainline version, while stable-*
branches contain latestsources for stable releases.To build binary packages, run make
indebian/
directory on Debian/Ubuntu, or inrpm/SPECS/
on RHEL/CentOS/SLES/Amazon Linux, or inalpine/
on Alpine.
Packaging sources are distributed under the same2-clause BSD-like licenseused by nginx.
Dynamic Modules
Main nginx package is built with all modules that do not require additionallibraries to avoid extra dependencies.Since version 1.9.11, nginx supportsdynamic modulesand the following modules are built as dynamic and shipped as separatepackages:
Signatures
Since our PGP keysand packages are located on the same server,they are equally trusted.It is highly advised to additionally verifythe authenticity of the downloaded PGP key.PGP has the “Web of Trust” concept,when a key is signed by someone else’s key,that in turn is signed by another key and so on.It often makes possible to build a chain from an arbitrary keyto someone’s key who you know and trust personally,thus verify the authenticity of the first key in a chain.This concept is described in details inGPG Mini Howto.Our keys have enough signatures,and their authenticity is relatively easy to check.