Pinpointing the Python Code Paths with High Disk I/O (using OpenResty XRay)
OpenResty® Linux Packages
lijunlong , 12 Oct 2024 (created 14 Jul 2016)OpenResty® provides official pre-built packages for the following Linux distributions and versions.
Version Codename Supported Architectures
18.04 Bionic amd64, arm64
20.04 Focal amd64, arm64
22.04 Jammy amd64, arm64
24.04 Noble amd64, arm64
Version Codename Supported Architectures
9.x Stretch amd64, arm64
10.x Buster amd64, arm64
11.x Bullseye amd64, arm64
12.x Bookworm amd64, arm64
Version Supported Architectures
7.x x86_64, aarch64
8.x x86_64, aarch64
9.x x86_64, aarch64
Version Supported Architectures
6.x x86_64
7.x x86_64, aarch64
8.x x86_64, aarch64
9.x x86_64, aarch64
Version Supported Architectures
32 x86_64, aarch64
33 x86_64, aarch64
34 x86_64, aarch64
35 x86_64, aarch64
36 x86_64, aarch64
Version Supported Architectures
1 (2018.03) x86_64
2 x86_64, aarch64
2023 x86_64, aarch64
Version Supported Architectures
2 x86_64, aarch64
3 x86_64, aarch64
Version Supported Architectures
2 x86_64, aarch64
3 x86_64, aarch64
Version Supported Architectures
8.x x86_64, aarch64
9.x x86_64, aarch64
Version Supported Architectures
6.x x86_64
7.x x86_64, aarch64
8.x x86_64, aarch64
Version Supported Architectures
12.x x86_64
15.x x86_64, aarch64
Version Supported Architectures
15.x x86_64, aarch64
Version Supported Architectures
3.7 x86_64, aarch64
3.8 x86_64, aarch64
3.9 x86_64, aarch64
3.10 x86_64, aarch64
3.11 x86_64, aarch64
3.12 x86_64, aarch64
3.13 x86_64, aarch64
3.14 x86_64, aarch64
3.15 x86_64, aarch64
3.16 x86_64, aarch64
3.17 x86_64, aarch64
3.18 x86_64, aarch64
Version Supported Architectures
2.0 x86_64, aarch64
All our repositories' metadata (and rpm binary packages) are signed by the following GPG key, 0xD5EDEB74
:
https://openresty.org/package/pubkey.gpg
IMPORTANT! All the official binary packages for Intel x86_64
CPUs require SSE 4.2 instruction support in the CPU.
If you use an old CPU that does not support SSE 4.2, then you need to build OpenResty from its source tarball on that
CPU yourself. See the Download and Installation page for details. Otherwise you
will see the Illegal instruction
error when using the binary packages on your CPUs lacking SSE 4.2 support.
Ubuntu
Note: if nginx is already installed and running, try disabling and stopping it before installing openresty like below:
sudo systemctl disable nginx
sudo systemctl stop nginx
Otherwise the installation might fail.
You can add our APT repository to your Ubuntu system so as to easily install
our packages and receive updates in the future (via the apt-get update
command). To add the repository, just
run the following commands (only need to run once for each system):
Step 1: we should install some prerequisites needed by adding GPG public keys (could be removed later):
sudo apt-get -y install --no-install-recommends wget gnupg ca-certificates lsb-release
Step 2: import our GPG key:
For ubuntu 18 ~ 20
wget -O - https://openresty.org/package/pubkey.gpg | sudo apt-key add -
For ubuntu 22
wget -O - https://openresty.org/package/pubkey.gpg | sudo gpg --dearmor -o /usr/share/keyrings/openresty.gpg
Step 3: then add the our official APT repository.
For x86_64
or amd64
systems:
For ubuntu 18 ~ 20
echo "deb http://openresty.org/package/ubuntu $(lsb_release -sc) main" \ | sudo tee /etc/apt/sources.list.d/openresty.list
For ubuntu 22 or above
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/openresty.gpg] http://openresty.org/package/ubuntu $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/openresty.list > /dev/null
And for arm64
or aarch64
systems:
For ubuntu 18 ~ 20
echo "deb http://openresty.org/package/arm64/ubuntu $(lsb_release -sc) main" \ | sudo tee /etc/apt/sources.list.d/openresty.list
For ubuntu 22 or above
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/openresty.gpg] http://openresty.org/package/arm64/ubuntu $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/openresty.list > /dev/null
Step 4: update the APT index:
sudo apt-get update
Then you can install a package, say, openresty
, like this:
sudo apt-get -y install openresty
This package also recommends the openresty-opm
and openresty-restydoc
packages so the latter two will
also automatically get installed by default. If that is not what you want, you can disable the automatic
installation of recommended packages like this:
sudo apt-get -y install --no-install-recommends openresty
See the OpenResty Deb Packages page for more details on all available packages in this repository.
Debian
Note: if nginx is already installed and running, try disabling and stopping it before installing openresty like below:
sudo systemctl disable nginx
sudo systemctl stop nginx
Otherwise the installation might fail.
You can add the openresty
repository to your Debian system so as to easily install
our packages and receive updates in the future (via the apt-get update
command).
To add the repository, just run the following commands (only need to run once for each system):
Step 1: install some prerequisites needed by adding GPG public keys (could be removed later):
sudo apt-get -y install --no-install-recommends wget gnupg ca-certificates
Step 2: import our GPG key:
For debian <= 11
wget -O - https://openresty.org/package/pubkey.gpg | sudo apt-key add -
For debian >= 12
wget -O - https://openresty.org/package/pubkey.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/openresty.gpg
Step 3: add the our official APT repository.
For x86_64
or amd64
systems:
codename=`grep -Po 'VERSION="[0-9]+ \(\K[^)]+' /etc/os-release`
echo "deb http://openresty.org/package/debian $codename openresty" \
| sudo tee /etc/apt/sources.list.d/openresty.list
And for arm64
or aarch64
systems:
codename=`grep -Po 'VERSION="[0-9]+ \(\K[^)]+' /etc/os-release`
echo "deb http://openresty.org/package/arm64/debian $codename openresty" \
| sudo tee /etc/apt/sources.list.d/openresty.list
Step 4: update the APT index:
sudo apt-get update
Then you can install a package, say, openresty
, like this:
sudo apt-get -y install openresty
This package also recommends the openresty-opm
and openresty-restydoc
packages so the latter two will
also automatically get installed by default. If that is not what you want, you can disable the automatic
installation of recommended packages like this:
sudo apt-get -y install --no-install-recommends openresty
See the OpenResty Deb Packages page for more details on all available packages in this repository.
CentOS
You can add the openresty
repository to your CentOS system so as to easily install
our packages and receive updates in the future (via the yum update
command). To add the repository, just
run the following commands (replace yum
with dnf
below if you are using CentOS 8+):
CentOS 9 or later
# add the yum repo:
wget https://openresty.org/package/centos/openresty2.repo
sudo mv openresty2.repo /etc/yum.repos.d/openresty.repo
# update the yum index:
sudo yum check-update
CentOS 8 or older
# add the yum repo:
wget https://openresty.org/package/centos/openresty.repo
sudo mv openresty.repo /etc/yum.repos.d/openresty.repo
# update the yum index:
sudo yum check-update
Then you can install a package, say, openresty
, like this:
sudo yum install openresty
If you want to install the resty
command-line utility, then install the openresty-resty
package like below:
sudo yum install openresty-resty
The opm
command-line utility is in the openresty-opm
package while the restydoc
utility is in the
openresty-doc
package.
To list all the packages in the openresty
repository:
sudo yum --disablerepo="*" --enablerepo="openresty" list available
See the OpenResty RPM Packages page for more details on all these packages.
For CentOS 8 and beyond, we just need to replace the yum
commands above with dnf
.
RHEL
You can add the openresty
repository to your Red Hat Enterprise Linux (RHEL) system so as to easily install
our packages and receive updates in the future (via the yum update
command). To add the repository, just
run the following commands (replace yum
with dnf
below if you are using RHEL 8+):
RHEL 9 or later
# add the yum repo:
wget https://openresty.org/package/rhel/openresty2.repo
sudo mv openresty2.repo /etc/yum.repos.d/openresty.repo
# update the yum index:
sudo yum check-update
RHEL 8 or older
# add the yum repo:
wget https://openresty.org/package/rhel/openresty.repo
sudo mv openresty.repo /etc/yum.repos.d/openresty.repo
# update the yum index:
sudo yum check-update
After adding the package repository, you can now install a package, say, openresty
, like this:
sudo yum install openresty
If you want to install the resty
command-line utility, then install the openresty-resty
package like below:
sudo yum install openresty-resty
The opm
command-line utility is in the openresty-opm
package while the restydoc
utility is in the
openresty-doc
package.
To list all the packages in the openresty
repository:
sudo yum --disablerepo="*" --enablerepo="openresty" list available
Some packages in this repository, like perl-Test-Nginx
and perl-Lemplate
do require
some extra optional RHEL official repositories to be enabled.
On RHEL 7 and 6, you need to enable the "optional" rpm repository, for example, for RHEL 7:
sudo subscription-manager repos --enable rhel-7-server-optional-rpms
and for RHEL 6:
sudo subscription-manager repos --enable rhel-6-server-optional-rpms
And for RHEL 8, you need to enable the "CodeReady" Linux Builder repository like this:
sudo subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms
See the OpenResty RPM Packages page for more details on all these packages.
Please note that the perl-Lemplate
RPM package is currently unvailable on RHEL 8 since its official repositories
removes some dependency Perl module packages like perl-Template-Toolkit
(as compared to RHEL 7).
For RHEL 8 and beyond, we just need to replace the yum
commands above with dnf
.
Fedora
You can enable the openresty
repository on your Fedora system like this:
# add the repo:
wget https://openresty.org/package/fedora/openresty.repo
sudo mv openresty.repo /etc/yum.repos.d/
# update the index:
sudo dnf check-update
Then you can easily install packages from the openresty-openresty
repository and receive updates
in the future (through the dnf check-update
command). For example, to install the openresty
package, we can just run the
following command:
sudo dnf install -y openresty
If you want to install the resty
command-line utility, then install the openresty-resty
package like below:
sudo dnf install -y openresty-resty
The opm
command-line utility is in the openresty-opm
package while the restydoc
utility is in the
openresty-doc
package.
To list all the available packages in the openresty-openresty
repository, just type
sudo dnf repo-pkgs openresty list available
See the OpenResty RPM Packages page for more details on these packages.
Amazon Linux
You can enable the openresty
repository on your Amazon Linux system like this:
# add the repo:
wget https://openresty.org/package/amazon/openresty.repo
sudo mv openresty.repo /etc/yum.repos.d/
# update the index:
sudo yum check-update
Then you can install a package, say, openresty
, like this:
sudo yum install -y openresty
If you want to install the resty
command-line utility, then install the openresty-resty
package like below:
sudo yum install -y openresty-resty
The opm
command-line utility is in the openresty-opm
package while the restydoc
utility is in the
openresty-doc
package.
To list all the packages in the openresty
repository:
sudo yum --disablerepo="*" --enablerepo="openresty" list available
See the OpenResty RPM Packages page for more details on all these packages.
Please note that the *-asan
RPM packages are currently unavailable for Amazon Linux 2 due to a bug in Amazon Linux's
official clang packages (missing the libclang_rt.a
library file).
Alibaba Cloud Linux
You can enable the openresty
repository on your Alibaba Cloud Linux system like this:
# add the repo:
wget https://openresty.org/package/alinux/openresty.repo
sudo mv openresty.repo /etc/yum.repos.d/
# update the index:
sudo yum check-update
Then you can install a package, say, openresty
, like this:
sudo yum install -y openresty
If you want to install the resty
command-line utility, then install the openresty-resty
package like below:
sudo yum install -y openresty-resty
The opm
command-line utility is in the openresty-opm
package while the restydoc
utility is in the
openresty-doc
package.
To list all the packages in the openresty
repository:
sudo yum --disablerepo="*" --enablerepo="openresty" list
See the OpenResty RPM Packages page for more details on all these packages.
TencentOS Linux
You can enable the openresty
repository on your TencentOS Linux system like this:
# add the repo:
wget https://openresty.org/package/tlinux/openresty.repo
sudo mv openresty.repo /etc/yum.repos.d/
# update the index:
sudo yum check-update
Then you can install a package, say, openresty
, like this:
sudo yum install -y openresty
If you want to install the resty
command-line utility, then install the openresty-resty
package like below:
sudo yum install -y openresty-resty
The opm
command-line utility is in the openresty-opm
package while the restydoc
utility is in the
openresty-doc
package.
To list all the packages in the openresty
repository:
sudo yum --disablerepo="*" --enablerepo="openresty" list
See the OpenResty RPM Packages page for more details on all these packages.
Rocky Linux
You can enable the openresty
repository on your Rocky Linux system like this:
Rocky 9 or later
# add the repo:
wget https://openresty.org/package/rocky/openresty2.repo
sudo mv openresty2.repo /etc/yum.repos.d/openresty.repo
# update the index:
sudo yum check-update
Rocky 8
# add the repo:
repo=openresty.repo
wget https://openresty.org/package/rocky/openresty.repo
sudo mv openresty.repo /etc/yum.repos.d/openresty.repo
# update the index:
sudo yum check-update
Then you can install a package, say, openresty
, like this:
sudo yum install -y openresty
If you want to install the resty
command-line utility, then install the openresty-resty
package like below:
sudo yum install -y openresty-resty
The opm
command-line utility is in the openresty-opm
package while the restydoc
utility is in the
openresty-doc
package.
To list all the packages in the openresty
repository:
sudo yum --disablerepo="*" --enablerepo="openresty" list
See the OpenResty RPM Packages page for more details on all these packages.
Oracle Linux
You can enable the openresty
repository on your Oracle Linux system like this:
# add the repo:
wget https://openresty.org/package/oracle/openresty.repo
sudo mv openresty.repo /etc/yum.repos.d/
# update the index:
sudo yum check-update
Then you can install a package, say, openresty
, like this:
sudo yum install -y openresty
If you want to install the resty
command-line utility, then install the openresty-resty
package like below:
sudo yum install -y openresty-resty
The opm
command-line utility is in the openresty-opm
package while the restydoc
utility is in the
openresty-doc
package.
To list all the packages in the openresty
repository:
sudo yum --disablerepo="*" --enablerepo="openresty" list
See the OpenResty RPM Packages page for more details on all these packages.
SUSE Linux Enterprise
You can enable the openresty
repository on your SUSE Linux Enterprise Server/Desktop/Workstation (SLES) system like below:
sudo rpm --import https://openresty.org/package/pubkey.gpg
sudo zypper ar -g --refresh --check "https://openresty.org/package/sles/openresty.repo"
sudo zypper mr --gpgcheck-allow-unsigned-repo openresty
Then you can install a package, say, openresty
, like this:
sudo zypper install openresty
If you want to install the resty
command-line utility, then install the openresty-resty
package like below:
sudo zypper install -y openresty-resty
The opm
command-line utility is in the openresty-opm
package while the restydoc
utility is in the
openresty-doc
package.
To list all the packages in the openresty
repository:
sudo zypper pa -r openresty
See the OpenResty RPM Packages page for more details on all these packages.
OpenSUSE Leap
You can enable the openresty
repository on your OpenSUSE Leap system like below:
sudo rpm --import https://openresty.org/package/pubkey.gpg
sudo zypper ar -g --refresh --check https://openresty.org/package/opensuse/openresty.repo
sudo zypper mr --gpgcheck-allow-unsigned-repo openresty
Then import our PGP key:
sudo zypper --gpg-auto-import-keys refresh
Then you can install a package, say, openresty
, like this:
sudo zypper install openresty
If you want to install the resty
command-line utility, then install the openresty-resty
package like below:
sudo zypper install -y openresty-resty
The opm
command-line utility is in the openresty-opm
package while the restydoc
utility is in the
openresty-doc
package.
To list all the packages in the openresty
repository:
sudo zypper pa -r openresty
See the OpenResty RPM Packages page for more details on all these packages.
Alpine
First of all, please make sure you have enabled the Alpine's official community repository.
Basically, you can just open the file /etc/apk/repositories
and uncomment a line looks
like this:
http://mirror.leaseweb.com/alpine/v3.11/community
Your actual line could be slightly different when you are using a different mirror site or a differnt Alpine version.
You can enable the openresty
repository on your Alpine system like below:
# first, let's add the public key used to sign the repo:
wget 'http://openresty.org/package/admin@openresty.com-5ea678a6.rsa.pub'
sudo mv 'admin@openresty.com-5ea678a6.rsa.pub' /etc/apk/keys/
# then, add the repo:
. /etc/os-release
MAJOR_VER=`echo $VERSION_ID | sed 's/\.[0-9]\+$//'`
echo "http://openresty.org/package/alpine/v$MAJOR_VER/main" \
| sudo tee -a /etc/apk/repositories
# update the local index cache:
sudo apk update
Then we can install the openresty
package like this:
sudo apk add openresty
If you want to install the resty
command-line utility, then just install the openresty-resty
package below:
sudo apk add openresty-resty
The opm
command-line utility is in the openresty-opm
package while the restydoc
utility is in the
openresty-restydoc
package.
To view all the packages provided by our repos, type the following command:
apk list | grep 'openresty\|lemplate'
See the OpenResty Alpine APK Packages page for more details on all these packages.
CBL-Mariner
You can enable the openresty
repository on your CBL-Mariner system like this:
# add the repo:
wget https://openresty.org/package/mariner/openresty.repo
sudo mv openresty.repo /etc/yum.repos.d/
# update the index:
sudo yum makecache
Then you can install a package, say, openresty
, like this:
sudo yum install -y openresty
If you want to install the resty
command-line utility, then install the openresty-resty
package like below:
sudo yum install -y openresty-resty
The opm
command-line utility is in the openresty-opm
package while the restydoc
utility is in the
openresty-doc
package.
To list all the packages in the openresty
repository:
sudo yum --disablerepo="*" --enablerepo="openresty" list
See the OpenResty RPM Packages page for more details on all these packages.
Support for More Linux Distributions
We welcome community contributions of packaging sources targeting more Linux distributions like Gentoo, Arch, and Slackware. Please ensure the resulting packages resemble our existing RPM Packages wherever possible. Thank you!
Packages for Non-Linux systems
We also provide pre-built binary packages for the Windows operating system. You can obtain it from the Download page.