lapis 설정 및 환경
5112 단어 openrestyluawebframeworksnginx
Lapis 서로 다른 환경 에 따라 서로 다른 설정 을 불 러 와 서버 를 실행 하도록 설계 되 었 다.예 를 들 어 개발 환경의 설정 을 로 컬 데이터베이스 URL 로 설정 할 수 있 으 며 코드 캐 시 와 단일 worker 를 사용 하지 않 습 니 다.그 다음 에 생산 환경의 설정 은 원 격 데이터 베이스 URL 로 설정 할 수 있 습 니 다. 코드 캐 시 와 8 개 worker 를 사용 합 니 다.서버 를 시작 할 때
lapis 명령 행 도 구 는 두 번 째 인 자 를 받 습 니 다.$ lapis server [environment] 기본적으로 환경 은
development 이다.환경 이름 은 불 러 오 는 설정 에 만 영향 을 줍 니 다.설정 이 없 으 면 절대 효과 가 없 으 니 만 듭 시다.설정 만 들 기
설정 에 의존 하 는 코드 를 실행 할 때마다
Lapis 모듈 을 불 러 오 려 고 시도 합 니 다.config 모듈 은 우리 가 환경의 특정한 변 수 를 정의 하 는 곳 이다.그것 은 표준 config 파일 이기 때문에 만 듭 시다.Lua/MoonScript 모듈 을 찾 지 못 하면 오류 가 발생 하지 않 습 니 다. 이 때 는 기본 설정 을 사용 합 니 다.local config = require("lapis.config")
config("development", {
port = 8080
})
config("production", {
port = 80,
num_workers = 4,
code_cache = "on"
}) 저 희 는
config 에서 제공 하 는 설정 도 우 미 를 사용 하여 설정 을 만 듭 니 다.위의 예 에서 우 리 는 두 개의 설정 을 정의 하고 모든 설정 에 포트 를 설정 합 니 다.설정 은 간단 한 시계 일 뿐 입 니 다.위의 특수 빌 더 문법 으로 설정 표를 구축 합 니 다.
우 리 는 환경 이름 을 전달 하 는 배열 표를 통 해 여러 환경 을 설정 할 수 있 습 니 다.
config({"development", "production"}, {
session_name = "my_app_session"
}) 설정 파일 은 조합 에 포 함 된 표 에 접근 하 는 데 좋 은 문법 을 가지 고 있 습 니 다.
lapis.config 과 MoonScript 모두 자신의 변형 이 있 습 니 다. 문법 에 관 한 더 많은 세부 사항 은 해당 하 는 지침 을 보십시오.[lua 설정 문법] ()설정 과
Lua컴 파일 Nginx 시 설정 의 값 을 사용 합 니 다.삽 입 된 Nginx 설정 변 수 는 대소 문 자 를 구분 하지 않 습 니 다.설정 을 검사 하기 전에 nginx.conf 환경 이 값 이 있 는 지 확인 하기 때문에 모든 대문자 로 작 성 됩 니 다.예 를 들 어 여기에
shell 설정 블록 이 있 습 니 다.events {
worker_connections ${{WORKER_CONNECTIONS}};
} 컴 파일 할 때 환경 변수
Lapis Nginx 를 먼저 검사 합 니 다.값 이 없 으 면 현재 환경의 설정 LAPIS_WORKER_CONNECTIONS 을 검사 합 니 다.프로그램 접근 설정
이 설정 도 응용 프로그램 에서 사용 할 수 있 습 니 다.설정 표 에 아래 와 같이 접근 할 수 있 습 니 다:
local config = require("lapis.config").get()
print(config.port) 현재 환경의 이름 은
worker_connections 에 저 장 됩 니 다.print(config._name) -- development, production, etc... 기본 설정
모든 설정 은 기본 값 이 있 습 니 다. 다음은 표 에 있 는 문법 입 니 다.
default_config = {
port = "8080",
secret = "please-change-me",
session_name = "lapis_session",
num_workers = "1",
logging = {
queries = true,
requests = true
}
} 사용 가능 한 설정
대부분의 설정 키 는 마음대로 사용 되 지만 일부 이름 은 설정
_name 과 지원 라 이브 러 리 에 남아 있 습 니 다.여 기 는 그들의 목록 입 니 다.Lapis port - number 포트, Nginx 에서 기본 정의nginx.conf num_workers - number 시 작 된 Nginx 수 는 work 에서 기본 으로 정의 합 니 다.nginx.conf session_name - 세 션 을 저장 할 string 이름cookie (secret - string 사용 하 는 비밀 키 로 세 션 서명 encode_with_secret 에 도 사 용 됩 니 다.cookie (measure_performance - 성능 시간 과 조회 추적 사용bool logging - 콘 솔 이나 로그 파일 에 기록 할 이벤트 설정설정 로그
table 설정 키 는 기본 적 인 상황 에서 실 행 된 각종 로그 기록 을 사용 하지 않 습 니 다.logging 설정 의 기본 값 은:{
queries = true,
requests = true
} 모든 로 그 는
Lapis 에서 제공 하 는 logging 함수 로 OpenResty 의 print 로 그 를 기록 합 니 다.기본 Nginx 로그 기록 위 치 는 notice 으로 설정 되 어 있 으 며, 기본 notice 설정 에서 지정 되 어 있 습 니 다.그것 은 stderr 명령 을 사용 하여 설정 할 수 있다.성능 측정
Lapis Nginx 설정 값 이 error_log 로 설정 되면 measure_performance 각종 작업 의 시간 과 수 를 수집 할 수 있 습 니 다.이 데 이 터 는
true 에 저장 되 어 있다.아래 필드 에서 표 에 수 집 됩 니 다:Lapis - 보 기 를 보 여 주 는 데 걸 리 는 시간 (초 단위)ngx.ctx.performance - 레이아웃 을 보 여 주 는 데 걸 리 는 시간 (초 단위)view_time - 조 회 를 수행 하 는 데 걸 리 는 시간 (초 단위)layout_time - 실 행 된 조회 수db_time - 수행 db_count 요청 에 걸 리 는 시간 (초 단위)http_time - 보 낸 HTTP 요청 수요청 에 해당 하 는 동작 을 수행 하지 않 으 면 필드 는
http_count 입 니 다.이 필드 들 은 요청 과정 에서 작성 되 기 때문에 요청 이 끝 날 때 만 접근 하여 모든 데 이 터 를 사용 할 수 있 도록 하 는 것 이 좋 습 니 다.HTTP 조 수 는 처리 요청 의 마지막 단계 에서 실행 할 수 있 도록 함 수 를 등록 할 수 있 습 니 다.이 예제 에서 성능 데 이 터 는 요청 이 끝 날 때마다 로그 에 인쇄 됩 니 다.
local lapis = require("lapis")
local after_dispatch = require("lapis.nginx.context").after_dispatch
local to_json = require("lapis.util").to_json
local config = require("lapis.config")
config("development", {
measure_performance = true
})
local app = lapis.Application()
app:before_filter(function(self)
after_dispatch(function()
print(to_json(ngx.ctx.performance))
end)
end)
-- ...
return app
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Openresty 및 Google BigQuery를 사용한 마이크로서비스 사용량 로깅Descartes Labs에서는 플랫폼 구축에 마이크로서비스 아키텍처를 사용해 왔습니다. Descartes Labs의 마이크로서비스 로깅, 특히 사용 로깅의 주요 요구 사항은 전체 위성 이미지 모음에 대한 API 액...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.