Nginx安裝lua-nginx-module模塊

lua-nginx-module模塊地址html

https://github.com/openresty/lua-nginx-modulenginx

It is highly recommended to use OpenResty releases which integrate Nginx, ngx_lua, LuaJIT 2.1, as well as other powerful companion Nginx modules and Lua libraries. It is discouraged to build this module with nginx yourself since it is tricky to set up exactly right. Also, the stock nginx cores have various limitations and long standing bugs that can make some of this modules' features become disabled, not work properly, or run slower. The same applies to LuaJIT as well. OpenResty includes its own version of LuaJIT which gets specifically optimized and enhanced for the OpenResty environment.git

若是不聽人家的建議,能夠按照下面安裝github

Alternatively, ngx_lua can be manually compiled into Nginx:web

  1. Install LuaJIT 2.0 or 2.1 (recommended) or Lua 5.1 (Lua 5.2 is not supported yet). LuaJIT can be downloaded from the LuaJIT project website and Lua 5.1, from the Lua project website. Some distribution package managers also distribute LuaJIT and/or Lua.
  2. Download the latest version of the ngx_devel_kit (NDK) module HERE.
  3. Download the latest version of ngx_lua HERE.
  4. Download the latest version of Nginx HERE (See Nginx Compatibility)

Build the source with this module:shell

 wget 'http://nginx.org/download/nginx-1.13.6.tar.gz' tar -xzvf nginx-1.13.6.tar.gz cd nginx-1.13.6/ # tell nginx's build system where to find LuaJIT 2.0: export LUAJIT_LIB=/path/to/luajit/lib export LUAJIT_INC=/path/to/luajit/include/luajit-2.0 # tell nginx's build system where to find LuaJIT 2.1: export LUAJIT_LIB=/path/to/luajit/lib export LUAJIT_INC=/path/to/luajit/include/luajit-2.1 # or tell where to find Lua if using Lua instead: #export LUA_LIB=/path/to/lua/lib #export LUA_INC=/path/to/lua/include # Here we assume Nginx is to be installed under /opt/nginx/. ./configure --prefix=/opt/nginx \ --with-ld-opt="-Wl,-rpath,/path/to/luajit-or-lua/lib" \ --add-module=/path/to/ngx_devel_kit \ --add-module=/path/to/lua-nginx-module # Note that you may also want to add `./configure` options which are used in your # current nginx build. # You can get usually those options using command nginx -V # you can change the parallism number 2 below to fit the number of spare CPU cores in your # machine. make -j2 make install

英文很差的能夠參考下文

ngx_lua_module 是一個nginx http模塊,它把 lua 解析器內嵌到 nginx,用來解析並執行lua 語言編寫的網頁後臺腳本ruby

特性很牛叉,可自行百度查看,這裏主要是示範一下,如何在Nginx下安裝lua-nginx-module模塊bash

固然,若是你以前沒有安裝過Nginx,並且嫌安裝麻煩,可直接下載openresty安裝簡單快捷,http://openresty.org/cn/installation.html(阿里的大牛章亦春的做品,膜拜~~~)app

1.下載安裝LuaJIT 2.1(2.0或者2.1都是支持的,官方推薦2.1):http://luajit.org/download.htmlui

cd /usr/local/src wget http://luajit.org/download/LuaJIT-2.1.0-beta2.tar.gz tar zxf LuaJIT-2.1.0-beta2.tar.gz cd LuaJIT-2.1.0-beta2 make PREFIX=/usr/local/luajit make install PREFIX=/usr/local/luajit

 

2.下載ngx_devel_kit(NDK)模塊 :https://github.com/simpl/ngx_devel_kit/tags,不須要安裝

cd /usr/local/src
wget https://github.com/simpl/ngx_devel_kit/archive/v0.2.19.tar.gz tar -xzvf v0.2.19.tar.gz

3.下載最新的lua-nginx-module 模塊 :https://github.com/openresty/lua-nginx-module/tags,不須要安裝

cd /usr/local/src
wget https://github.com/openresty/lua-nginx-module/archive/v0.10.2.tar.gz tar -xzvf v0.10.2.tar.gz

 

4.nginx -V查看已經編譯的配置

nginx -V

筆者的配置以下:

--prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_v2_module --with-http_ssl_module --with-ipv6 --with-http_gzip_static_module --with-http_realip_module --with-http_flv_module --with-openssl=../openssl-1.0.2h --with-pcre=../pcre-8.38 --with-pcre-jit --with-ld-opt=-ljemalloc --with-ld-opt=-Wl,-rpath,/usr/local/luajit/lib --add-module=/usr/local/src/ngx_devel_kit-0.2.19 --add-module=/usr/local/src/lua-nginx-module-0.10.2

 

5.進入以前安裝nginx的解壓目錄,從新編譯安裝(在nginx -V獲得的配置下,加入ngx_devel_kit-0.2.19和ua-nginx-module-0.10.2的目錄),最終的配置以下:

設置環境變量

export LUAJIT_LIB=/usr/local/luajit/lib export LUAJIT_INC=/usr/local/luajit/include/luajit-2.1

 

./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_v2_module --with-http_ssl_module --with-ipv6 --with-http_gzip_static_module --with-http_realip_module --with-http_flv_module --with-openssl=../openssl-1.0.2h --with-pcre=../pcre-8.38 --with-pcre-jit --with-ld-opt='-ljemalloc' --with-ld-opt="-Wl,-rpath,/usr/local/luajit/lib" --add-module=/usr/local/src/ngx_devel_kit-0.2.19 --add-module=/usr/local/src/lua-nginx-module-0.10.2

 

6.編譯安裝

make -j2 make install

 

7.查看是否編譯成功

在/usr/local/nginx/conf/nginx.conf中加入以下代碼:

location /hello_lua { 
      default_type 'text/plain'; content_by_lua 'ngx.say("hello, lua")'; }

 

重啓nginx:

service nginx restart

 

訪問10.211.55.3/hello_lua會出現」hello, lua」表示安裝成功

hello, lua
相關文章
相關標籤/搜索