lapis 입문

lapis 입문
Lapis 는 Lua 와 Moonscript 를 위 한 웹 프레임 워 크 입 니 다.라 피 스 는 Nginx 가 발행 하 는 OpenResty 위 에 세 워 져 있 기 때문에 매우 흥 미 롭 다.웹 프로그램 이 Nginx 내부 에서 직접 실 행 됩 니 다.Nginx 의 이벤트 순환 은 OpenResty 가 제공 하 는 모듈 을 사용 하여 비동기 HTTP 요청, 데이터베이스 조회 및 기타 요청 을 할 수 있 습 니 다.Lua 의 협 정 은 배경 이벤트 에 구동 되 는 동기 화 코드 를 만 들 수 있 습 니 다.웹 프레임 워 크 를 제공 하 는 것 외 에 도 Lapis 는 서로 다른 설정 환경 에서 OpenResty 를 제어 하 는 도 구 를 제공 합 니 다.웹 프레임 워 크 를 사용 하고 싶 지 않 더 라 도 OpenResty 를 사용 하면 여전히 유용 하 다 는 것 을 알 수 있 을 것 이다.
이 웹 프레임 워 크 는 URL 공유 기, HTML 템 플 릿, CSRF 와 세 션 지원, PostgreSQL 또는 MySQL 이 지원 하 는 능 동적 기록 시스템 을 실현 하여 model 과 웹 사 이 트 를 개발 하 는 데 필요 한 다른 유용 한 기능 을 처리 합 니 다.
이 안내 서 는 여러분 에 게 교과 과정 과 참고 가 되 기 를 바 랍 니 다.
기본 설정
OpenResty 를 시스템 에 설치 합 니 다.Heroku 를 사용한다 면 Heroku OpenResty 모듈 과 Lua 구축 패 키 지 를 사용 할 수 있 습 니 다.
luarocks 를 사용 하여 lapis 를 설치 합 니 다.luarocks install lapis
응용 프로그램 만 들 기
lapis 명령 행 도구
Lapis 는 새 프로젝트 를 만 들 고 서버 를 시작 하 는 데 도움 이 되 는 명령 행 도 구 를 추가 합 니 다.Lapis 가 무엇 을 할 수 있 는 지 보 려 면 셸 에서 실행 lapis help이제 우 리 는 새로운 프로젝트 를 만 들 것 이다.깨끗 한 디 렉 터 리 로 전환 하고 다음 명령 을 실행 합 니 다.
lua new
wrote   nginx.conf
wrote   mime.types
wrote   app.moon

Lapis 는 기본 Nginx 설정 과 빈 Lapis 프로그램 을 만 듭 니 다.
생 성 된 프로필 을 마음대로 봅 니 다 (nginx. conf 는 유일 하 게 중요 한 파일 입 니 다).다음은 그 기능 에 대한 간략 한 개술 이다.
모든 요청 은 / static / 에서 정적 파일 을 제공 합 니 다. (이 기능 을 제공 하려 면 이 디 렉 터 리 를 만 들 수 있 습 니 다)
/ favicon. ico 에 대한 요청 은 / static / favicon. ico 파일 에 응답 합 니 다.
그리고 모든 다른 요청 은 Lua 가 제공 합 니 다. 더 구체 적 으로 말 하면 'app' 이라는 모듈 입 니 다.
lapis 명령 행 도 구 를 사용 하여 서버 를 시작 할 때 nginx. conf 파일 을 처리 하고 현재 Lapis 환경의 값 으로 템 플 릿 변 수 를 채 웁 니 다.이것 은 아래 에서 더욱 상세 하 게 토론 할 것 이다.
nginx 설정lapis new 우리 에 게 준 설정 을 봅 시다.당장 볼 필 요 는 없 지만 더 높 은 애플 리 케 이 션 을 구축 하거나 생산 환경 에 만 애플 리 케 이 션 을 배치 하려 면 중요 하 다.
여 기 는 생 성 된 것 입 니 다 nginx.conf:
worker_processes ${{NUM_WORKERS}};
error_log stderr notice;
daemon off;

events {
  worker_connections 1024;
}

http {
  include mime.types;

  server {
    listen ${{PORT}};
    lua_code_cache ${{CODE_CACHE}};

    location / {
      default_type text/html;
      content_by_lua '
        require("lapis").serve("app")
      ';
    }

    location /static/ {
      alias static/;
    }

    location /favicon.ico {
      alias static/favicon.ico;
    }
  }
}

우선 주의해 야 할 것 은 이것 은 정상 적 인 Nginx 프로필 이 아 닙 니 다.Lapis 는 서버 를 시작 하기 전에 환경 설정 을 주입 하 는 특수 한 ${{VARIABLE}} 문법 을 사용 합 니 다.error_log stderr noticedaemon off 서버 를 프론트 데스크 에서 실행 시 키 고 로 그 를 콘 솔 에 인쇄 합 니 다.이것 은 개발 할 때 는 매우 좋 지만, 생산 할 때 는 반드시 닫 아야 한다.lua_code_cache 개발 할 때 도 또 다른 유용 한 설정 이다.off 로 설정 되면 모든 Lua 모듈 이 요청 할 때마다 다시 불 러 옵 니 다.웹 프로그램의 원본 코드 수정 은 자동 으로 다시 불 러 올 수 있 습 니 다.생산 환경 에서 가장 좋 은 성능 을 얻 기 위해 캐 시 on 를 사용 해 야 합 니 다.기본 값 off.content_by_lua 명령 은 다른 Lua 과 일치 하지 않 는 요청 을 처리 할 코드 블록 을 지정 합 니 다.로 딩 location 하고 Lapis 이라는 모듈 에 서 비 스 를 제공 하 라 고 알려 줍 니 다.이전에 실 행 된 app 프레임 모듈 lapis new 을 제공 하여 시작 합 니 다.
시작 서버
수 동 으로 시작 할 수 있 지만 app 설정 과 시작 서버 를 구축 하 는 데 편리 한 명령 을 포장 했다.Nginx 에서 실행 Lapis 하면 서버 가 시 작 됩 니 다.shell OpenResty 설 치 를 찾 아 보십시오.다음 디 렉 터 리 에 있 는 nginx 바 이 너 리 파일 을 검색 합 니 다.(마지막 으로 PATH 의 모든 것 을 대표 합 니 다)
"/usr/local/openresty/nginx/sbin/"
"/usr/local/opt/openresty/bin/"
"/usr/sbin/"
""
  ,    OpenResty         Nginx。 Lapis        Nginx      。

서버 가 어떻게 되 는 지 계속 시작 하 십시오. lapis server기본 설정 은 서버 를 프론트 데스크 톱 으로 실행 하고 CTRL + C 를 사용 하여 서버 를 정지 합 니 다.서버 가 백그라운드 에서 실행 되면 사용 Lapis 을 중지 할 수 있 습 니 다.프로그램의 루트 디 렉 터 리 에서 실행 해 야 합 니 다.이 명령 은 실행 중인 서버 의 PID 파일 을 찾 아 이 프로 세 스에 보 내기 lapis server 메시지 (존재 할 경우)
응용 프로그램 만 들 기
새 항목 을 만 들 고 서버 를 시작 하고 정지 하 는 방법 을 알 고 있 습 니 다. 프로그램 코드 를 만 들 준비 가 되 어 있 습 니 다.이 안내 서 는 lapis termTERM 두 개 로 나 뉜 다.
만약 당신 이 무엇 을 사용 할 지 확실 하지 않다 면, 나 는 두 가지 경 로 를 통 해 읽 을 것 을 건의 합 니 다.
Create an application with LuaCreate an application with MoonScript

좋은 웹페이지 즐겨찾기