OpenResty is an
nginx
Nginx (pronounced "engine x" ) is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache. The software was created by Igor Sysoev and publicly released in 2004. Nginx is free and open-source software ...
distribution which includes the
LuaJIT
LuaJIT is a tracing just in time compiler for the Lua programming language.
History
The LuaJIT project was started in 2005 by developer Mike Pall, released under the MIT open source license.
The second major release of the compiler, 2.0.0, ...
interpreter for
Lua
Lua or LUA may refer to:
Science and technology
* Lua (programming language)
* Latvia University of Agriculture
* Last universal ancestor, in evolution
Ethnicity and language
* Lua people, of Laos
* Lawa people, of Thailand sometimes referred t ...
scripts. The software was created by
Yichun Zhang. It was originally sponsored by
Taobao
Taobao () is a Chinese online shopping platform. It is headquartered in Hangzhou and is owned by Alibaba. According to Alexa rank, it is the eighth most-visited website globally in 2021. Taobao.com was registered on April 21, 2003 by Alibaba Cl ...
before 2011 and was mainly supported by
Cloudflare
Cloudflare, Inc. is an American content delivery network and DDoS mitigation company, founded in 2009. It primarily acts as a reverse proxy between a website's visitor and the Cloudflare customer's hosting provider. Its headquarters are in San ...
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.
History
In October 2007, OpenResty began at
Yahoo! China as an
Open API
An open API (often referred to as a public API) is a publicly available application programming interface that provides developers with programmatic access to a proprietary software application or web service. APIs are sets of requirements that g ...
web service framework written mostly in
Perl
Perl is a family of two high-level, general-purpose, interpreted, dynamic programming languages. "Perl" refers to Perl 5, but from 2000 to 2019 it also referred to its redesigned "sister language", Perl 6, before the latter's name was offici ...
.
In September 2009, OpenResty was redeveloped at
Taobao
Taobao () is a Chinese online shopping platform. It is headquartered in Hangzhou and is owned by Alibaba. According to Alexa rank, it is the eighth most-visited website globally in 2021. Taobao.com was registered on April 21, 2003 by Alibaba Cl ...
as ngx_openresty, a
Lua
Lua or LUA may refer to:
Science and technology
* Lua (programming language)
* Latvia University of Agriculture
* Last universal ancestor, in evolution
Ethnicity and language
* Lua people, of Laos
* Lawa people, of Thailand sometimes referred t ...
application server
An application server is a server that hosts applications or software that delivers a business application through a communication protocol.
An application server framework is a service layer model. It includes software components available to a ...
based upon an extended repackaging of
nginx
Nginx (pronounced "engine x" ) is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache. The software was created by Igor Sysoev and publicly released in 2004. Nginx is free and open-source software ...
and
LuaJIT
LuaJIT is a tracing just in time compiler for the Lua programming language.
History
The LuaJIT project was started in 2005 by developer Mike Pall, released under the MIT open source license.
The second major release of the compiler, 2.0.0, ...
with
plug-in server extension
module
Module, modular and modularity may refer to the concept of modularity. They may also refer to:
Computing and engineering
* Modular design, the engineering discipline of designing complex devices using separately designed sub-components
* Modul ...
s written in
C.
See also
*
Tarantool
Tarantool is an in-memory computing platform with a flexible data schema, best used for creating high-performance applications. Two main parts of it are an in-memory database and a Lua application server.
Tarantool maintains data in memory and ...
*
References
External links
*
Web server software
Lua (programming language)-scriptable software
Web server software for Linux
{{software-stub