This tutorial will demonstrate how to install OpenResty on CentOS 8 via dnf.

screenshot 1

We’ll use this fresh install of CentOS 8 in this tutorial.

We can always goto the openresty.org web site to find the instructions.

Screenshot

Then click on the Installation link on the left side bar.

Screenshot

And click on the link “official pre-built packages” under the “Binary Packages” section.

Screenshot

As we can see here, we do support a lot of different Linux distributions.

Screenshot

Scroll down to the CentOS section.

Screenshot

We can find all the commands for enabling the yum repository and installing the OpenResty rpm packages.

Back to our CentOS 8 system, first install the standard wget package if you don’t have it already.

1
sudo dnf -y install wget

screenshot 4

Use wget to download the openresty.repo file from our site.

1
wget 'https://openresty.org/package/centos/openresty.repo'

screenshot 5

We move this file into the yum repositories’ configuration directory.

1
sudo mv openresty.repo /etc/yum.repos.d/

screenshot 6

Note that we need sudo here.

We update the yum index database.

1
sudo dnf check-update

screenshot 8

Now it’s time to install our main RPM package, openresty.

1
sudo dnf -y install openresty

screenshot 9

Check if the openresty executable is available.

1
which openresty

screenshot 10

This openresty executable is just a symbolic link.

1
file `which openresty`

screenshot 11

And check its version.

1
openresty -V

screenshot 12

We can start the default openresty server like this.

1
sudo systemctl start openresty

screenshot 13

Check if the nginx processes are up and running.

1
ps aux|grep nginx

screenshot 14

Perfect.

Test the default home page with the curl command.

1
curl 127.0.0.1/

screenshot 16

Yay, it’s working.

Note, however, that the resty command-line utility is not installed yet.

1
which resty

screenshot 18

If you want it, then you can install the openresty-resty RPM package from the same repository.

1
sudo dnf -y install openresty-resty

screenshot 19

Now it should be ready.

1
2
which resty
resty -e 'print("Hello Resty")'

screenshot 20

Similarly, if you want to use the restydoc command-line utility, you should install the openresty-doc package.

1
sudo dnf -y install openresty-doc

screenshot 21

Now it’s available too. Try it out!

1
restydoc -s content_by_lua_file

We can also install OPM for installing more Lua modules contributed by the OpenResty community.

1
sudo dnf -y install openresty-opm

screenshot 23

We can try installing the lua-resty-http library authored by James Hurst.

1
sudo opm get pintsized/lua-resty-http

screenshot 24

Try loading it with the resty utility.

1
resty -e 'require "resty.http"'

screenshot 25

Success!

There is also a debug build of OpenResty which includes debugging logs and all the internal assertions enabled.

1
sudo dnf -y install openresty-debug

screenshot 27

We can invoke this debug version of openresty like this.

1
which openresty-debug

screenshot 28

This openresty-debug executable is also a symbolic link.

1
file `which openresty-debug`

screenshot 29

We should never use it in production since it is much slower than the release build.

Furthermore, there are also special builds for checking memory issues via Valgrind and Address Sanitizer.

1
sudo dnf list openresty-valgrind openresty-asan

screenshot 31

Try these when you have memory issues to debug. We may cover these in future tutorials.

To upgrade OpenResty packages to their latest versions, just run these commands.

1
2
sudo dnf check-update
sudo dnf upgrade 'openresty*'

screenshot 33

To check all the available packages in our openresty repository.

1
dnf --disablerepo='*' --enablerepo="openresty" list available

screenshot 34

We’ve got a lot of packages here.

We can find detailed documentation for all these RPM packages on the web page openresty.org/en/rpm-packages.html.

Screenshot

We have indeed got a lot of packages for the user to choose from.

Screenshot

That’s all I’d like to cover today. Have fun!

If you like this tutorial, please subscribe to this blog site and our YouTube channel. Thank you!

About This Article and Associated Video

This article and its associated video are both generated automatically from a simple screenplay file.

About The Author

Yichun Zhang is the creator of the OpenResty® open source project. He is also the founder and CEO of the OpenResty Inc. company. He contributed a dozen open source Nginx 3rd-party modules, quite some Nginx and LuaJIT core patches, and designed the OpenResty XRay platform.

Translations

We provide the Chinese translation for this article on blog.openresty.com.cn. We also welcome interested readers to contribute translations in other natural languages as long as the full article is translated without any omissions. We thank them in advance.

We are hiring

We always welcome talented and enthusiastic engineers to join our team at OpenResty Inc. to explore various open source software’s internals and build powerful analyzers and visualizers for real world applications built atop the open source software. If you are interested, please send your resume to talents@openresty.com . Thank you!