溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

什么是openResty

發布時間:2021-10-13 09:31:22 來源:億速云 閱讀:551 作者:iii 欄目:編程語言

本篇內容主要講解“什么是openResty”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“什么是openResty”吧!

1、是什么?

OpenResty? 是一個基于 Nginx 與 Lua 的高性能 Web 平臺,其內部集成了大量精良的 Lua 庫、第三方模塊以及大多數的依賴項。用于方便地搭建能夠處理超高并發、擴展性極高的動態 Web 應用、Web 服務和動態網關。

OpenResty? 通過匯聚各種設計精良的 Nginx 模塊(主要由 OpenResty 團隊自主開發),從而將 Nginx有效地變成一個強大的通用 Web 應用平臺。這樣,Web 開發人員和系統工程師可以使用 Lua 腳本語言調動 Nginx 支持的各種 C 以及 Lua 模塊,快速構造出足以勝任 10K 乃至 1000K 以上單機并發連接的高性能 Web 應用系統。

OpenResty? 的目標是讓你的Web服務直接跑在 Nginx 服務內部,充分利用 Nginx 的非阻塞 I/O 模型,不僅僅對 HTTP 客戶端請求,甚至于對遠程后端諸如 MySQL、PostgreSQL、Memcached 以及 Redis 等都進行一致的高性能響應。

2、如何使用?

①、安裝

對于一些常見的 Linux 發行版本(Ubuntu、Debian、CentOS、RHEL、Fedora、OpenSUSE、Alpine 和 Amazon Linux), OpenResty? 提供 官方預編譯包。確保你首先用這種方式來安裝。

對于 Mac OS X 或 macOS 用戶,強烈推薦您使用 homebrew 包管理工具安裝 OpenResty??梢灾苯邮褂孟旅?這一條命令:

brew install openresty/brew/openresty

如果你之前是從 homebrew/nginx 安裝的 OpenResty,請先執行:

brew untap homebrew/nginx

如果您還沒有下載 OpenResty 的源碼包, 請到 Download 頁下載。

首先,您可以根據下面的示例安裝和構建OpenResty。

tar -xzvf openresty-VERSION.tar.gz
cd openresty-VERSION/
./configure
make
sudo make install

示例中的 VERSION替換成 OpenResty的版本號, 比如 1.11.2.1。 如果您在構建過程中需要對于細節更加靈活的控制,請您繼續閱讀。

安裝成功后,我們就可以使用 openresty 直接輸出 html 頁面。

②、配置

首先我們可以創建一個工作目錄:

mkdir /home/www
cd /home/www/
mkdir logs/ conf/

其中 logs 目錄用于存放日志,conf 用于存放配置文件。

接著,我們在 conf 目錄下創建一個 nginx.conf 文件 代碼如下:

worker_processes  1;
error_log logs/error.log;
events {
    worker_connections 1024;
}
http {
    server {
        listen 9000;
        location / {
            default_type text/html;
            content_by_lua '
                ngx.say("<p>Hello, World!</p>")
            ';
        }
    }
}

如果你熟悉 nginx 的配置,應該對以上代碼就很熟悉。這里我們將 html 代碼直接寫在了配置文件中。

③、啟動

默認情況下 openresty 安裝在 /usr/local/openresty 目錄中,啟動命令為:

cd /home/www
/usr/local/openresty/nginx/sbin/nginx -p `pwd`/ -c conf/nginx.conf

如果沒有任何輸出,說明啟動成功,-p 指定我們的項目目錄,-c 指定配置文件。

3、與Nginx比較

Nginx 是一個高性能的HTTP和反向代理服務,也是一個IMAP/POP3/SMTP服務。

1、處理響應請求很快

2、高并發連接

3、低的內存消耗

4、具有很高的可靠性:

5、高擴展性

6、熱部署

nginx 只有一個master進程和已配置個數的 worker進程,master 進程把請求交給 worker 去處理,一個worker 在可能出現阻塞的地方會注冊一個事件就放過去了(epoll模型),會繼續處理后續的請求(非阻塞),當這個事件處理完之后會通過callback來通知worker繼續處理那條請求后續的事情(事件驅動),單個worker可以處理大量請求而不會輕易讓整個系統卡住。

master管理進程與worker工作進程的分離設計,使得 Nginx具有熱部署的功能,可以在 7 × 24 小時不間斷服務的前提下,升級 Nginx 的可執行文件。也可以在不停止服務的情況下修改配置文件,更換日志文件等功能。

openresty 是基于 nginx 增加了模塊,我們說的其實也就是 nginx 的性能.

4、解決了什么問題或痛點?

OpenResty解決的是高并發的痛點,異步處理方式提高了服務器整體負載能力,而不是提高某個請求的速度。

到此,相信大家對“什么是openResty”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女