유 니 콘 을 사용 하여 Sinatra 응용 프로그램 을 Nginx 에 배치 합 니 다.
평소에 개발 할 때 저 는 Thin 으로 서버 를 만 들 고 배치 할 때 효율 이 높 은 유 니 콘 을 사용 하기 때문에 먼저 gem install 유 니 콘 이 필요 합 니 다.
배치 할 때 Sinatra 응용 루트 디 렉 터 리 에 먼저 들 어가 야 합 니 다. 그 중에서 각각 tmp, tmp / sockets, tmp / pids 와 log 네 개의 디 렉 터 리 를 만 듭 니 다.
그리고 Sinatra 에 적 용 된 루트 디 렉 터 리 에 유 니 콘 rb 파일 을 새로 만 듭 니 다. 내용 은:
@dir = "/path/to/app/"
worker_processes 2
working_directory @dir
timeout 60
listen "#{@dir}tmp/sockets/unicorn.sock", :backlog => 64
pid "#{@dir}tmp/pids/unicorn.pid"
stderr_path "#{@dir}log/unicorn.stderr.log"
stdout_path "#{@dir}log/unicorn.stdout.log"
다음은 Nginx 를 설정 합 니 다. 설정 파일 nginx. conf 를 편집 하고 http 부분 에 다음 과 같은 내용 을 추가 합 니 다.
http {
...
upstream unicorn_server {
server unix:/path/to/app/tmp/sockets/unicorn.sock
fail_timeout=0;
}
server {
listen 80;
server_name localhost;
root /path/to/app/public;
location / {
try_files $uri @app;
}
location @app {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
# pass to the upstream unicorn server mentioned above
proxy_pass http://unicorn_server;
}
}
}
서 비 스 를 시작 할 때 먼저 실행 합 니 다: 유 니 콘 - c path / to / 유 니 콘. rb - E development - D, 그 중에서 - E 지정 환경 은 development 이 고 - D 는 daemon 으로 실행 합 니 다.그리고 nginx 서 비 스 를 시작 하고 접근 합 니 다.http://localhost/ 됐 습 니 다.
서 비 스 를 중단 하려 면 cat / path / to / app / tmp / pid / unicorn. pid | xargs kill - QUIT 를 실행 하면 됩 니 다.
유 니 콘 이 깨끗이 정리 되 지 않 았 다 면 다음 두 가지 명령 을 실행 해 야 합 니 다.
rm /path/to/app/tmp/sockets/unicorn.socket
rm /path/to/app/tmp/pids/unicorn.pid
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.