Nginx 與 Lua 語言的結合 – OpenResty

前言

我自己常用的網頁伺服器,絕大部分都是以 Nginx 為主。我自己覺得 Nginx 的配置文件比起 Apache 這樣的網頁伺服器更容易理解,邏輯像是寫程式碼一般。但是玩一玩感覺就到了極限,感覺很難在他身上玩出更多花樣。

結果就發現有一款名為 OpenResty 的網頁伺服器,他是基於 Nginx 改出來的。用法上完全一樣,但是他結合了 Lua 語言,你可以在 Github 找到各種大神為他寫的 Lua 插件,來為你的 Nginx 增添不同的色彩。

本文著重在如何安裝 OpenResty,至於用於 OpenResty 的其他 Lua 插件,會寫在其他篇。

安裝步驟

!! 請注意,在這篇文章撰寫時,你尚無法在 Debian 12 安裝到他,請降級到 Debian 11。 !!

安裝必要元件。

sudo apt-get -y install --no-install-recommends wget gnupg ca-certificates

導入 OpenResty 的 GPG Key。

wget -O - https://openresty.org/package/pubkey.gpg | sudo apt-key add -

加入 OpenResty 的 APT 庫。

codename=`grep -Po 'VERSION="[0-9]+ \(\K[^)]+' /etc/os-release`

echo "deb http://openresty.org/package/debian $codename openresty" \
    | sudo tee /etc/apt/sources.list.d/openresty.list

更新 Linux APT 並安裝 Openresty。

sudo apt-get update && sudo apt-get -y install openresty

打開你瀏覽器,前往伺服器的 IP 位址,像是 http://192.168.0.2 這樣,你應該就可以看到你的 OpenResty 準備就緒囉!

001.jpg

OpenResty 的 Nginx 資料夾路徑位於 /usr/local/openresty/nginx,之後如果要安裝插件也是從這裡開始!

推薦插件

我會將我有使用到的插件更新在 Blog 上,你可以點選這裡連過去看看。

讓 Nginx 具有防止 DDoS 攻擊的外掛

結語

OpenResty 讓 Nginx 有了更多花樣,跳脫了原有的 Nginx。你除了可以在 Github 上找到各種大神開發的,若你能力所及更可以自己寫,讓你的網頁伺服器有更多的花樣。