Maison >Opération et maintenance >Nginx >Comment installer et configurer le support Lua pour Nginx

Comment installer et configurer le support Lua pour Nginx

WBOY
WBOYavant
2023-06-02 22:01:102329parcourir

Installation et configuration de Nginx Prise en charge de Lua

Par défaut, Nginx ne prend pas en charge le module Lua Vous devez installer l'interpréteur LuaJIT et recompiler. Nginx, ou vous pouvez utiliser openrestry développé par des chinois Modules requis : LuaJIT, Ngx_devel et . lua-nginx -moduleNginx不支持Lua模块,需要安装LuaJIT解释器,并且重新编译Nginx,或者可使用国人开发的openrestry

需要的模块:LuaJIT,Ngx_devellua-nginx-module

1. 环境准备

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

2. 下载最新的luajitngx_devel_kit以及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. 解压ngx_devel_kit以及lua-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. 编译安装LuaJIT,即Lua及时编译器

[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

5. 编译安装Nginx

1. Préparation de l'environnement

[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 'text/plain';
            content_by_lua 'ngx.say("hello, lua")';
        }
#lua文件方式
#在server 中添加一个localtion
location /lua {
    default_type 'text/html';
    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
2 Téléchargez les derniers luajit et ngx_devel_kit et lua. -nginx- module décompressez

user root root;

3. Décompressez ngx_devel_kit et lua-nginx-module

rrreeeComment installer et configurer le support Lua pour Nginx4. Compilez et installez LuaJIT. code>, c'est-à-dire le compilateur Lua juste à temps

rrreee

5 Compilez et installez Nginx

rrreee

6 Testez l'installation de Lua avec succès

.
Configurez le script Lua dans Nginx, et l'URL d'accès est toujours Invite 404

Ensuite, entrez le error.log de nginx et recherchez le journal d'erreurs suivant

🎜2022/06/09 18:31:46 [erreur] 24475# 24475 : *5 n'a pas réussi à charger le fichier Lua externe "/root/lua /68/update_content.lua" : impossible d'ouvrir /root/lua/68/update_content.lua : autorisation refusée, client : 112.4.254.104, serveur : localhost, demande : "GET /api/update_content HTTP/1.1", hôte : " votre hôte"🎜🎜🎜Puis configurez 🎜rrreee🎜 dans nginx.conf puis redémarrez nginx🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer