OpenResty

{{Short description|Web server based on nginx and LuaJIT}}

{{Infobox software

| title =

| name =

| logo = OpenResty logo.png

| logo caption =

| logo alt = OpenResty logo

| logo size = x64px

| collapsible =

| screenshot =

| screenshot size =

| screenshot alt =

| caption =

| other_names = ngx_openresty

| author = Yichun Zhang

| developer = {{ubl|OpenResty Software Foundation|OpenResty, Inc.}}

| released = {{Start date and age|2009|09}}

| ver layout =

| discontinued =

| latest release version = {{wikidata|property|preferred|references|edit|P348|P548=Q2804309}} | latest release date = {{Start date and age|{{wikidata|qualifier|preferred|single|P348|P548=Q2804309|P577}}|df=yes}}

| programming language = C

| middleware =

| engine =

| operating system =

| platform =

| included with =

| replaces =

| replaced_by =

| service_name =

| size =

| standard =

| language =

| language count =

| language footnote =

| genre =

| license = FreeBSD license

| website =

| AsOf =

}}

OpenResty is an nginx distribution which includes the LuaJIT interpreter for Lua scripts.{{cite web | last=Sharwood | first=Simon | date=2016-09-20 | title=WTF is OpenResty? The world's fifth-most-used Web server, that's what! | url=https://www.theregister.co.uk/2016/09/20/wtf_is_openresty_the_worlds_fifthmostused_web_server_thats_what/ | website=The Register | access-date=2022-02-05}}{{Cite web | last=Frommel | first=Oliver | title=Die OpenResty-Distribution für Nginx » ADMIN-Magazin | url=http://www.admin-magazin.de/Das-Heft/2014/01/Die-OpenResty-Distribution-fuer-Nginx | access-date=2023-01-13 | website=Admin-Magazin | language=de-DE}} 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.{{cite web | last=Tourne | first=Matthieu | date=2012-12-08 | url=https://blog.cloudflare.com/pushing-nginx-to-its-limit-with-lua/ | title=Pushing Nginx to its limit with Lua | website=The Cloudflare Blog | publisher=Cloudflare | access-date=2022-02-05}} OpenResty aims to run Lua server-side applications completely in the Nginx server, leveraging its event model to do non-blocking I/O not only for client connections, but also with remote resources, such as databases.

History

In October 2007, OpenResty began at Yahoo! China as an Open API web service framework written mostly in Perl.{{cite interview | last=章 | first=亦春 | trans-title=[Open Source Interview] Interview with OpenResty author Zhang Yichun | url=https://www.oschina.net/question/28_60461 | access-date=2022-02-06 | archive-url=https://web.archive.org/web/20220430011502/https://www.oschina.net/question/28_60461 | archive-date=2022-04-30 | website=OSChina.NET | date=2012-07-09 | script-title=zh:【开源访谈】OpenResty 作者章亦春访谈实录 | language=zh-Hans | interviewer-last= | interviewer-first=}}{{cite web | last=Zhang | first=Yichun | url=https://github.com/agentzh/old-openresty |title=agentzh/old-openresty: Obsolete 1st generation of OpenResty written mostly in Perl. Please check out the new OpenResty based on Nginx and Lua instead. | website=GitHub | access-date=2022-02-06}}{{cite web | last=Zhang | first=Yichun | url=https://search.cpan.org/dist/OpenResty | title=OpenResty: General-purpose web service platform for web applications | website=CPAN | access-date=2022-02-06}} Its README at CPAN describes it as "A REST wrapper for relational databases" enabling "100% JavaScript web sites and other RIAs" via PostgreSQL.

In September 2009, OpenResty was redeveloped at Taobao as ngx_openresty, a Lua application server based upon an extended repackaging of nginx and LuaJIT with plug-in server extension modules written in C.

See also

  • Tarantool
  • {{slink|List of application servers#Lua}}

References

{{Reflist}}