Ruby & Rails - Rails 5 는 ubuntu 16.04 에 nginx 를 설정 합 니 다.
STEP 1: Nginx + Passenger 설치 빠 른 방법: 세트 로 설치
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 561F9B9CAC40B2F7
$ sudo apt install -y apt-transport-https ca-certificates
# Add our APT repository
$ sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger xenial main > /etc/apt/sources.list.d/passenger.list'
$ sudo apt update
# Install Passenger + Nginx
$ sudo apt install -y nginx-extras passenger
문제 가 생기 면:https://stackoverflow.com/questions/28818597/nginx-and-passenger-dependencies-issue-digital-ocean-deployment
브 라 우 저 를 열 고 서버 IP 주 소 를 입력 하면 기본 Nginx 웹 페이지 를 볼 수 있 습 니 다: Welcome to nginx on Ubuntu!
Nginx 시작 및 재 시작 방법:
$ sudo service nginx start
$ sudo service nginx stop
$ sudo service nginx restart
STEP 2: Nginx 설정
/ etc / nginx / nginx. conf 를 편집 하고 설명 을 지우 고 다음 줄 을 엽 니 다.
include /etc/nginx/passenger.conf;
/ etc / nginx / nginx. conf 맨 위 에 줄 추가:
env PATH;
이 줄 이 없 으 면 Rails 에서 nodejs 경 로 를 찾 을 수 없습니다. nginx error log 에 Message from application: There was an error while trying to load the gem 'uglifier' 가 있 습 니 다. Gem Load Error is: Could not find a JavaScript runtime. Seehttps://github.com/rails/execjs for a list of available runtimes. 의 오류 입 니 다.
/ etc / nginx / sites - enabled / yourproject_name.conf
server {
listen 80;
server_name huangpeidong.xin; // , , ip
root /home/hpd/ieltsbro_production/hpd_ieltsbro/public; // public
passenger_enabled on;
passenger_min_instances 1;
location ~ ^/assets/ {
expires 1y;
add_header Cache-Control public;
add_header ETag "";
break;
}
}
이상 의 설정 은 Assets 정적 파일 이 만 료 되 지 않도록 설정 하 는 것 을 포함 합 니 다.그 중 servername your_domain. com 에서 domain 으로 바 꿔 주세요.Domain name 이 아직 등록 되 지 않 았 다 면 서버 IP 주 소 를 먼저 사용 할 수 있 습 니 다.하지만 서버 에 레일 스 프로젝트 나 사이트 가 여러 개 있다 면 도 메 인 별로 구분 해 야 한다.
같은 서버 에 여러 domain 이 연결 되 어 있 으 면 공백 으로 구분 할 수 있 습 니 다. 예 를 들 어:
server_name huangpeidong.xin www.huangpeidong.xin;
이렇게 세 개의 domain 이 모두 같은 Rails 로 연 결 될 것 이다.
마지막 으로 sudo service nginx restart 를 실행 하면 Nginx 설정 을 사용 합 니 다.나중에 레일 스 가 다시 불 러 올 변경 사항 이 있 지만 Nginx 전 체 를 다시 시작 하고 싶 지 않 으 면 레일 스 응용 프로그램 디 렉 터 리 에서 touch tmp / restart. txt 를 실행 하면 Passenger 는 Nginx 를 다시 불 러 올 필요 가 없다 는 것 을 알 게 될 것 입 니 다.
참고 글:http://blog.csdn.net/ximi_qin287624952/article/details/70169614
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.