others-How to install openresty from source on ubuntu system?
1. Purpose
In this post, I would demonstrate how to install openresty on ubuntu system from source.
2. The solution
2.1 What is openresty?
OpenResty is a web platform based on nginx which can run Lua scripts using its LuaJIT engine.[1] The software was created by Yichun Zhang. It was originally sponsored by Taobao before 2011 and was mainly supported by Cloudflare from 2012 to 2016. Since 2017, it has been mainly supported by OpenResty Software Foundation and OpenResty Inc.
OpenResty is designed to build scalable web applications, web services, and dynamic web gateways. The OpenResty architecture is based on several nginx modules which have been extended in order to expand nginx into a web app server to handle large number of requests. The concept of the OpenResty solution aims to run server-side web app completely in the nginx server, leveraging nginx event model to do non-blocking I/O not only with the HTTP clients, but also with remote backends like MySQL, PostgreSQL, Memcached, and Redis.
2.2 Where to download the source code of openresty?
wget https://openresty.org/download/openresty-1.19.9.1.tar.gz
2.3 The installation process on ubuntu system.
unzip the openresty tarball file:
tar zxvf openresty-1.19.9.1.tar.gz
cd openresty-1.19.9.1
prepare for installation:
apt-get update -y
apt-get install -y libpcre3-dev \
libssl-dev \
perl \
make \
build-essential \
curl \
zlib1g-dev
Then configure as follows:
./configure --prefix=/opt/openresty \
--without-http_fastcgi_module \
--without-http_scgi_module \
--with-http_gzip_static_module \
--with-http_v2_module \
--with-http_stub_status_module
and then compile and install the openresty from source code :
make && make install
Let’s explore the installed directory /opt/openresty/bin
:
root@launch-advisor-20191120:/opt/openresty/bin# ll
total 172
drwxr-xr-x 2 root root 4096 Jan 8 20:29 ./
drwxr-xr-x 8 root root 4096 Jan 8 20:29 ../
-rwxr-xr-x 1 root root 19185 Jan 8 20:29 md2pod.pl*
-rwxr-xr-x 1 root root 15994 Jan 8 20:29 nginx-xml2pod*
lrwxrwxrwx 1 root root 31 Jan 8 20:29 openresty -> /opt/openresty/nginx/sbin/nginx*
-rwxr-xr-x 1 root root 63510 Jan 8 20:29 opm*
-rwxr-xr-x 1 root root 36617 Jan 8 20:29 resty*
-rwxr-xr-x 1 root root 14957 Jan 8 20:29 restydoc*
-rwxr-xr-x 1 root root 8873 Jan 8 20:29 restydoc-index*
Let’s start openresty:
root@launch-advisor-20191120:/opt/openresty/bin# ./openresty
Then verify that openresty is running:
root@launch-advisor-20191120:/opt/openresty/bin# lsof -i:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
AliYunDun 876 root 19u IPv4 18981 0t0 TCP launch-advisor-20191120:45136->100.100.30.25:http (ESTABLISHED)
openresty 32381 root 8u IPv4 568547 0t0 TCP *:http (LISTEN)
openresty 32382 nobody 8u IPv4 568547 0t0 TCP *:http (LISTEN)
At last, we can visit the home page of installed openresty:
root@launch-advisor-20191120:/opt/openresty/bin# curl http://localhost
<!DOCTYPE html>
<html>
<head>
<meta content="text/html;charset=utf-8" http-equiv="Content-Type">
<meta content="utf-8" http-equiv="encoding">
<title>Welcome to OpenResty!</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>Welcome to OpenResty!</h1>
<p>If you see this page, the OpenResty web platform is successfully installed and
working. Further configuration is required.</p>
<p>For online documentation and support please refer to our
<a href="https://openresty.org/">openresty.org</a> site<br/>
Commercial support is available at
<a href="https://openresty.com/">openresty.com</a>.</p>
<p>We have articles on troubleshooting issues like <a href="https://blog.openresty.com/en/lua-cpu-flame-graph/?src=wb">high CPU usage</a> and
<a href="https://blog.openresty.com/en/how-or-alloc-mem/">large memory usage</a> on <a href="https://blog.openresty.com/">our official blog site</a>.
<p><em>Thank you for flying <a href="https://openresty.org/">OpenResty</a>.</em></p>
</body>
</html>
Then stop openresty:
root@launch-advisor-20191120:/opt/openresty/bin# ./openresty -s stop
Verify openresty is stopped:
root@launch-advisor-20191120:/opt/openresty/bin# curl http://localhost
curl: (7) Failed to connect to localhost port 80: Connection refused
root@launch-advisor-20191120:/opt/openresty/bin#
3. Summary
In this post, I demonstrated how to install openresty from souce on ubuntu system. That’s it, thanks for your reading.