centos 하 nginx 확장 lua 모듈

2934 단어 nginxlua
머리말
ngx_lua_module 은 Nginx 의 http 모듈 로 Lua 해상도 기 를 Nginx 에 삽입 하여 Nginx 핵심 에서 Lua 언어 로 작 성 된 프로그램 을 직접 실행 할 수 있 습 니 다.우 리 는 Nginx 의 다른 요청 처리 단계 에 Lua 코드 를 삽입 할 수 있 습 니 다.이 Lua 코드 들 은 Nginx 프로필 에 직접 연결 할 수도 있 고 외부.lua 파일 에 따로 배치 한 다음 Nginx 프로필 에서.lua 파일 의 경 로 를 참조 할 수도 있 습 니 다.
가장 먼저 Nginx,Lua 를 조합 한 것 은 OpenResty 입 니 다.ngx 가 있 습 니 다.lua 모듈,Lua 를 Nginx 에 끼 워 넣 었 습 니 다.그럼 왜 그 랬 을 까?왜냐하면:
Windows 와 Linux 플랫폼 을 지원 합 니 다.-고성능 지원..
HTML 페이지 에 LUA 스 크 립 트 코드 가 내장 되 어 있 으 며,PHP 와 유사 합 니 다
  • 차단 되 지 않 은 데이터베이스 작업 을 지원 하 며 현재 MYSQL 만 지원 합 니 다
  • 비동기 파일 IO 작업 을 지원 합 니 다
  • 차단 되 지 않 은 SOCKET IO 작업 을 지원 합 니 다

  • 설치 하 다.
    이곳 은 Liux 아래 의 설치 방법 만 소개 합 니 다.전 제 는 우리 가 Nginx 를 원본 으로 컴 파일 했 고 Nginx 의 설치 경 로 는/usr/local/nginx 입 니 다.우리 가 해 야 할 일 은 lua 모듈 을 Nginx 에 컴 파일 하 는 것 입 니 다.필요 한 모듈 은 다음 과 같 습 니 다.
  • luajit
  • ngx_devel_kit
  • echo-nginx-module
  • lua-nginx-module

  • 1.luajit 설치
    wget http://luajit.org/download/LuaJIT-<version>.tar.gz
    tar zxvf LuaJIT-<version>.tar.gz
    cd LuaJIT-<version>
    make 
    sudo make install PREFIX=/usr/local/luajit

    luajit 나 lua 의 환경 변 수 를 설정 해 야 합 니 다(Nginx 컴 파일 시 필요).
    export LUAJIT_LIB=/path/to/luajit/lib
    export LUAJIT_INC=/path/to/luajit/include/luajit-2.0

    2.ngx 설치devel_kit(NDK)모듈
    cd /usr/local
    git clone https://github.com/simpl/ngx_devel_kit.git

    다운로드 완료 후/usr/local/디 렉 터 리 에 하위 디 렉 터 리 ngx 생 성devel_kit。
    3.lua-nginx-module 모듈 설치
    cd /usr/local
    git clone https://github.com/chaoslawful/lua-nginx-module.git

    다운로드 가 완료 되면/usr/local/디 렉 터 리 에 하위 디 렉 터 리 lua-nginx-module 을 생 성 합 니 다.
    4.Nginx 를 다시 컴 파일 하려 면 컴 파일 순서 에 주의해 야 합 니 다!
    ./configure --prefix=/usr/local/nginx \
                --with-ld-opt="-Wl,-rpath,$LUAJIT_LIB" \
                --add-module=/usr/local/ngx_devel_kit \
                --add-module=/usr/local/echo-nginx-module \
                --add-module=/usr/local/lua-nginx-module
    make -j2
    make install

    Nginx 바 이 너 리 를 다시 컴 파일 합 니 다.Nginx 는 quit 를 다시 시작 해 야 합 니 다.일반 설정 업 데 이 트 는 reload 하면 됩 니 다.
    kill -HUP `cat /path/nginx/logs/nginx.pid`
    /usr/local/nginx/sbin/nginx -s reload

    모듈 컴 파일 성공!Nginx 서버 다시 시작!
    5.테스트 코드
    Nginx.conf 프로필 에 다음 코드 를 추가 합 니 다.
    location /echo {
        default_type 'text/plain';
        echo 'hello echo';
    }
    
    location /lua {
        default_type 'text/plain';
        content_by_lua 'ngx.say("hello, lua")';
    }

    Nginx 서버 다시 시작!
    /usr/local/nginx/sbin/nginx -s reload

    curl 테스트 사용:
    [root@localhost] curl http://localhost/echo
    hello echo
    [root@localhost] curl http://localhost/lua
    hello lua

    테스트 결과,두 모듈 모두 설치 성공!
    추가 참고 글:http://www.ttlsa.com/nginx/nginx-modules-ngx_lua/

    좋은 웹페이지 즐겨찾기