當前位置:
首頁 > 知識 > OpenResty 使用介紹

OpenResty 使用介紹

OpenResty 使用介紹

鎚子科技在 T2 發布會上將門票收入捐贈給了 OpenResty 開源項目,今天我們就來為大家介紹下 OpenResty 是個什麼鬼?

OpenResty 使用介紹



OpenResty 介紹

OpenResty(又稱:ngx_openresty) 是一個基於 NGINX 的可伸縮的 Web 平台,由中國人章亦春發起,提供了很多高質量的第三方模塊。

OpenResty 是一個強大的 Web 應用伺服器,Web 開發人員可以使用 Lua 腳本語言調動 Nginx 支持的各種 C 以及 Lua 模塊,更主要的是在性能方面,OpenResty可以 快速構造出足以勝任 10K 以上並發連接響應的超高性能 Web 應用系統。

360,UPYUN,阿里雲,新浪,騰訊網,去哪兒網,酷狗音樂等都是 OpenResty 的深度用戶。



OpenResty 安裝

菜鳥教程是居於 ubuntu14.04 安裝 OpenResty。

OpenResty 依賴庫有: perl 5.6.1+, libreadline, libpcre, libssl。

所以我們需要先安裝好這些依賴庫,也非常簡單:

apt-get install libreadline-dev libpcre3-dev libssl-dev perl

如果你的系統是 Centos 或 RedHat 可以使用以下命令:

yum install readline-devel pcre-devel openssl-devel

接下我們可以在官方(https://openresty.org/cn/)下載最新的 OpenResty 源碼包並解壓編譯安裝:

wget https://openresty.org/download/ngx_openresty-1.9.7.1.tar.gz # 下載
tar xzvf ngx_openresty-1.9.7.1.tar.gz # 解壓
cd ngx_openresty-1.9.7.1/
./configure
make
make install

默認情況下程序會被安裝到 /usr/local/openresty 目錄,你可以使用 ./configure --help 查看更多的配置選項。



Hello World 實例

安裝成功後,我們就可以使用 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

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

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

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

接下來我們可以使用 curl 來測試是否能夠正常範圍:

curl http://localhost:9000/

輸出結果為:

<p>Hello, World!</p>

或者通過瀏覽器訪問 http://localhost:9000/:

OpenResty 使用介紹

看到了吧,我們在配置文件寫的 html 已正常輸出。

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

所以對於一些高性能的服務來說,可以直接使用 OpenResty 訪問 Mysql或Redis等,而不需要通過第三方語言(PHP、Python、Ruby)等來訪問資料庫再返回,這大大提高了應用的性能。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

構建 Hadoop 集群
Linux 常用基本命令之重定向

TAG:程序員小新人學習 |