>  기사  >  운영 및 유지보수  >  Nginx에 대한 Lua 지원을 설치하고 구성하는 방법

Nginx에 대한 Lua 지원을 설치하고 구성하는 방법

WBOY
WBOY앞으로
2023-06-02 22:01:102219검색

Nginx 설치 및 구성 Lua 지원

기본적으로 NginxLua 모듈을 지원하지 않습니다. LuaJIT 인터프리터를 설치하고 다시 컴파일해야 합니다. Nginx 또는 중국 사람들이 개발한 openrestry를 사용할 수 있습니다. 필수 모듈: LuaJIT, Ngx_devel 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. 환경 준비

[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. 최신 luajitngx_devel_kitlua를 다운로드합니다. -nginx- 모듈 unzip

user root root;

3. ngx_devel_kitlua-nginx-module

rrreeeNginx에 대한 Lua 지원을 설치하고 구성하는 방법4의 압축을 풀고 LuaJIT를 설치합니다. code>, 즉 <code>Lua JIT 컴파일러

rrreee

5입니다. Nginx

rrreee

6을 컴파일하고 설치합니다. Lua 설치를 성공적으로 테스트하세요

Nginx에서 lua 스크립트를 구성하고 액세스 URL은 항상 프롬프트 404입니다

그런 다음 nginx의 error.log를 입력하고 다음 오류 로그를 찾으세요

🎜2022/06/09 18:31:46 [error] 24475# 24475: *5 외부 Lua 파일 "/root/lua /68/update_content.lua"를 로드하지 못했습니다: /root/lua/68/update_content.lua를 열 수 없습니다: 권한이 거부되었습니다. 클라이언트: 112.4.254.104, 서버: localhost, 요청 : "GET /api/update_content HTTP/1.1", 호스트: " 호스트"🎜🎜🎜그런 다음 nginx.conf에서 🎜rrreee🎜를 구성한 다음 nginx를 다시 시작하세요🎜

위 내용은 Nginx에 대한 Lua 지원을 설치하고 구성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제