OpenResty 是一個(gè)基于Nginx 與Lua 的高性能Web 平臺(tái)充蓝,其內(nèi)部集成了大量精良的 Lua 庫(kù)、第三方模塊以及大多數(shù)的依賴(lài)項(xiàng)纬乍。本文是根據(jù) openresty 官網(wǎng) 指南搭建OpenResty 服務(wù)的筆記。
1 安裝 OpenResty
系統(tǒng) Ubuntu 16.04 LTS
1.1 安裝依賴(lài)庫(kù)
apt install libreadline-dev libncurses5-dev libpcre3-dev libssl-dev perl make build-essential
1.2. 編譯安裝 OpenResty
下載地址 https://openresty.org/en/download.html
編譯安裝命令
tar -xzvf openresty-VERSION.tar.gz
cd openresty-VERSION/
./configure
make
sudo make install
VERSION
是下載的openresty 具體版本號(hào)裸卫。
make install
后應(yīng)用在 /usr/local/openresty/bin/openresty
目錄仿贬。
2. 啟動(dòng)服務(wù)
準(zhǔn)備項(xiàng)目目錄
mkdir ~/work
cd ~/work
mkdir logs/ conf/
2.1 配置 nginx.conf
OpenResty 是Nginx 與Lua 的封裝,最終用運(yùn)行的還是nginx墓贿。
~/work/conf/nginx.conf
worker_processes 1;
error_log logs/error.log;
events {
worker_connections 1024;
}
http {
server {
listen 8080;
# 條件1: 基于 lua 模塊響應(yīng)文本
location / {
default_type text/html;
content_by_lua '
ngx.say("<p>hello, world</p>")
';
}
# 條件2: 打印參數(shù)
location /param {
set $foo hello;
echo "foo: $foo";
echo "request_method: $request_method";
echo "remote_addr: $remote_addr";
}
}
}
2.2 啟動(dòng) nginx
啟動(dòng) nginx
/usr/local/openresty/nginx/sbin/nginx -p ~/work/ -c ~/work/conf/nginx.conf
如果覺(jué)得每次使用/usr/local/openresty/nginx/sbin/nginx
不方便茧泪,可以設(shè)置環(huán)境變量:
~/.bashrc
PATH=/usr/local/openresty/nginx/sbin:$PATH
export PATH
執(zhí)行 source ~/.bashrc
使配置生效。
2.3 測(cè)試 nginx
測(cè)試條件1: 基于 lua 模塊響應(yīng)文本
curl http://localhost:8080/
// 輸出如下
<p>hello, world</p>
測(cè)試條件2: 打印參數(shù)
curl localhost:8080/param
// 輸出如下
foo: hello
request_method: GET
remote_addr: 127.0.0.1
注意 因?yàn)槲覀兪謩?dòng)指定了nginx 的配置文件和執(zhí)行臨時(shí)目錄聋袋,所以重啟nginx 時(shí)队伟,也需要帶上相關(guān)配置。重啟命令如下:
sudo /usr/local/openresty/nginx/sbin/nginx -p ~/work/ -c ~/work/conf/nginx.conf -s reload