Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Bagaimana untuk memasang dan mengkonfigurasi sokongan Lua untuk Nginx

Bagaimana untuk memasang dan mengkonfigurasi sokongan Lua untuk Nginx

WBOY
WBOYke hadapan
2023-06-02 22:01:102274semak imbas

Pemasangan dan konfigurasi Nginx Lua menyokong

Secara lalai Nginx tidak menyokong modul Lua Anda perlu memasang penterjemah LuaJIT dan menyusun semula Nginx, atau anda boleh menggunakan <.> dibangunkan oleh orang Cina >openrestry

Modul yang diperlukan:

, LuaJIT dan Ngx_devellua-nginx-module

1 Persediaan persekitaran

[root@nginx_lua ~]# yum install -y gcc gcc-c++ make pcre-devel zlib-devel openssl-devel

2

dan luajit dan ngx_devel_kit nyahzip lua-nginx-module

[root@nginx_lua ~]# mkdir -p /soft/src 
[root@nginx_lua ~]# cd /soft/src/
wget https://luajit.org/download/LuaJIT-2.0.4.tar.gz
wget https://github.com/simpl/ngx_devel_kit/archive/v0.2.19.tar.gz
wget https://github.com/openresty/lua-nginx-module/archive/v0.10.13.tar.gz

3 Nyahzip

dan ngx_devel_kitlua-nginx-module

[root@nginx_lua src]# tar xf v0.2.19.tar.gz
[root@nginx_lua src]# tar xf v0.10.13.tar.gz

4 >penyusun tepat pada masanya

[root@nginx_lua src]# tar xf LuaJIT-2.0.4.tar.gz
[root@nginx_lua src]# cd LuaJIT-2.0.4/
[root@nginx_lua LuaJIT-2.0.4]# make && make install
LuaJIT5 Susun dan pasang Lua

[root@nginx_lua src]# wget http://nginx.org/download/nginx-1.14.2.tar.gz
[root@nginx_lua src]# tar xf nginx-1.14.2.tar.gz
[root@nginx_lua src]# cd nginx-1.14.2
[root@nginx_lua nginx-1.14.2]# ./configure --prefix=/soft/nginx --with-http_ssl_module --with-http_stub_status_module --with-http_dav_module --with-file-aio --with-http_dav_module --add-module=../ngx_devel_kit-0.2.19/ --add-module=../lua-nginx-module-0.10.13/
[root@nginx_lua nginx-1.14.2]# make && make install
[root@nginx_lua nginx-1.14.2]# ln -s /soft/nginx/sbin/nginx /usr/bin/nginx
[root@nginx_lua conf]# vim nginx.conf  #简单配置写nginx测试Nginx是否已经支持Lua(lua指令方式)
...
server {
 location /test_lua {
                default_type text/html;
                content_by_lua_block {
                        ngx.say("Hello Lua!") 
                }
        }
...
}
#lua指令方式
#在server 中添加一个localtion
location /hello {
            default_type &#39;text/plain&#39;;
            content_by_lua &#39;ngx.say("hello, lua")&#39;;
        }
#lua文件方式
#在server 中添加一个localtion
location /lua {
    default_type &#39;text/html&#39;;
    content_by_lua_file conf/lua/test.lua; #相对于nginx安装目录
}
#test.lua文件内容
ngx.say("hello world");
//建立软连接,如果不建立软链接,则会出现share object错误
[root@nginx_lua conf]# nginx -t
/soft/nginx/sbin/nginx: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory
[root@nginx_lua conf]# 
[root@nginx_lua lib64]# ln -s /usr/local/lib/libluajit-5.1.so.2 /lib64/libluajit-5.1.so.2
[root@nginx_lua lib64]# ll libluajit-5.1.so.2
lrwxrwxrwx 1 root root 33 Dec 21 20:52 libluajit-5.1.so.2 -> /usr/local/lib/libluajit-5.1.so.2
[root@nginx_lua lib64]#
#//加载lua库,加入到ld.so.conf文件(暂时不执行这一步)
#[root@nginx_lua nginx-1.14.2]# echo "/usr/local/LuaJIT/lib" >> /etc/ld.so.conf
[root@nginx_lua conf]# nginx -t
nginx: the configuration file /soft/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /soft/nginx/conf/nginx.conf test is successful
[root@nginx_lua conf]# nginx -s reload

6 Uji pemasangan Lua Nginx

Mengkonfigurasi skrip lua dalam Nginx, mengakses url sentiasa menggesa 404Bagaimana untuk memasang dan mengkonfigurasi sokongan Lua untuk Nginx

Kemudian masukkan error.log nginx dan cari log ralat berikut

2022/06/09 18 :31:46 [ralat] 24475#24475: *5 gagal memuatkan fail Lua luaran "/root/lua/68/update_content.lua": tidak boleh membuka /root/lua/68/update_content.lua: Kebenaran ditolak, pelanggan: 112.4.254.104, pelayan: localhost, permintaan: "DAPATKAN /api/update_content HTTP /1.1", hos: "hos anda"

Kemudian konfigurasikan

user root root;
dalam nginx.conf dan kemudian mulakan semula nginx

Atas ialah kandungan terperinci Bagaimana untuk memasang dan mengkonfigurasi sokongan Lua untuk Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam