Heim > Betrieb und Instandhaltung > Nginx > So installieren und konfigurieren Sie die Lua-Unterstützung für Nginx

So installieren und konfigurieren Sie die Lua-Unterstützung für Nginx

WBOY
Freigeben: 2023-06-02 22:01:10
nach vorne
2327 Leute haben es durchsucht

Nginx-Installation und -Konfiguration Lua-Unterstützung

Standardmäßig unterstützt Nginx das Lua-Modul nicht. Sie müssen den LuaJIT-Interpreter installieren und neu kompilieren Nginx, oder Sie können openrestry verwenden, das von Chinesen entwickelt wurde. Erforderliche Module: LuaJIT, Ngx_devel und 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
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

5. 编译安装Nginx

1. Umgebungsvorbereitung

[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
Nach dem Login kopieren

2. Laden Sie das neueste luajit und ngx_devel_kit und lua herunter -nginx- module unzip

user root root;
Nach dem Login kopieren
3. Entpacken Sie ngx_devel_kit und lua-nginx-module

rrreeeSo installieren und konfigurieren Sie die Lua-Unterstützung für Nginx4. Code>, das ist Lua Just-in-Time-Compiler

rrreee

5. Kompilieren und installieren Sie Nginx

rrreee

6

Konfigurieren Sie das Lua-Skript in Nginx und die Zugriffs-URL ist immer Prompt 404

Geben Sie dann das error.log von nginx ein und suchen Sie das folgende Fehlerprotokoll

09.06.2022 18:31:46 [Fehler] 24475# 24475: *5 konnte die externe Lua-Datei „/root/lua /68/update_content.lua“ nicht laden: /root/lua/68/update_content.lua kann nicht geöffnet werden: Berechtigung verweigert, Client: 112.4.254.104, Server: localhost, Anfrage : „GET /api/update_content HTTP/1.1“, Host: „Ihr Host“

Dann konfigurieren Sie 🎜rrreee🎜 in nginx.conf und starten Sie dann nginx neu🎜

Das obige ist der detaillierte Inhalt vonSo installieren und konfigurieren Sie die Lua-Unterstützung für Nginx. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage