OpenResty is an Nginx-based web platform that can run Lua scripts using its LuaJIT engine. It has many built-in Nginx modules that can make it a powerful web app server. OpenResty allows you to use Lua scripts inside the Nginx conf files and write a high-performance web application in Lua without installing any package.
In this post, we will show you how to install OpenResty on Rocky Linux 8.
Step 1 – Install OpenResty on Rocky Linux 8
By default, the OpenResty package is not included in the Rocky Linux 8 default repo, so you will need to add the OpenResty repo to your system. You can add it with the following command:
wget https://openresty.org/package/centos/openresty.repo -O /etc/yum.repos.d/openresty.repo
Once the repo is added, run the following command to install OpenResty on Rocky Linux 8.
dnf install openresty -y
After the installation, verify the OpenResty version using the following command:
openresty -v
You will get the following output:
nginx version: openresty/1.19.9.1
You can also install the OpenResty CLI utility using the following command:
dnf install openresty-resty -y
Next, start and enable the OpenResty service using the following command:
systemctl start openresty systemctl enable openresty
You can also check the status of OpenResty with the following command:
systemctl status openresty
You will get the following output:
● openresty.service - The OpenResty Application Platform Loaded: loaded (/usr/lib/systemd/system/openresty.service; disabled; vendor preset: disabled) Active: active (running) since Sat 2022-01-29 06:07:47 UTC; 5s ago Process: 8788 ExecStart=/usr/local/openresty/nginx/sbin/nginx (code=exited, status=0/SUCCESS) Process: 8787 ExecStartPre=/usr/local/openresty/nginx/sbin/nginx -t (code=exited, status=0/SUCCESS) Main PID: 8790 (nginx) Tasks: 2 (limit: 11411) Memory: 2.4M CGroup: /system.slice/openresty.service ├─8790 nginx: master process /usr/local/openresty/nginx/sbin/nginx └─8791 nginx: worker process Jan 29 06:07:47 rockylinux systemd[1]: Starting The OpenResty Application Platform... Jan 29 06:07:47 rockylinux nginx[8787]: nginx: the configuration file /usr/local/openresty/nginx/conf/nginx.conf syntax is ok Jan 29 06:07:47 rockylinux nginx[8787]: nginx: configuration file /usr/local/openresty/nginx/conf/nginx.conf test is successful Jan 29 06:07:47 rockylinux systemd[1]: openresty.service: Failed to parse PID from file /usr/local/openresty/nginx/logs/nginx.pid: Invalid ar> Jan 29 06:07:47 rockylinux systemd[1]: Started The OpenResty Application Platform.
Also Read
How to Install and Configure Nginx Webserver on Oracle Linux 8
Step 2 – Create a Project with OpenResty
In this section, we will create a sample hello world project using OpenResty.
First, create a directory with the following command:
mkdir resty
Next, change the directory to resty and create the other required directories using the following command:
cd resty mkdir logs conf
Next, create an Nginx configuration file:
nano conf/nginx.conf
Add the following code:
worker_processes 1; error_log logs/error.log; events { worker_connections 1024; } http { server { listen 8080; location / { default_type text/html; content_by_lua_block { ngx.say("<p>hello, world</p>") } } } }
Save and close the file, then export the Nginx path with the following command:
PATH=/usr/local/openresty/nginx/sbin:$PATH export PATH
Next, start the Nginx server with the following command:
nginx -p `pwd`/ -c conf/nginx.conf
This will start an Nginx server on port 8080. You can check it with the ss command:
ss -antpl | grep 8080
You will get the following output:
LISTEN 0 128 0.0.0.0:8080 0.0.0.0:* users:(("nginx",pid=8806,fd=8),("nginx",pid=8805,fd=8))
Step 3 – Verify OpenResty Project
You can now verify your OpenResty hello world project using the URL http://your-server-ip:8080. You should see the following page:
You can also use the curl command to test your project:
curl http://localhost:8080/
You will get the following output:
hello, world
Conclusion
In the above guide, we explained how to install OpenResty on Rocky Linux 8. We also created a sample hello world project and host it using OpenResty. Start working on the OpenResty platform today on dedicated hosts from Atlantic.Net!