brunch

AMZN Linux에 퓨전 패신저(+Nginx) 설치

Amazon Web Services에 레일즈 프로젝트 배포하기

by Argent
나중에 필요할 때 다시 보려고 만든 거라 짜임이 없습니다ㅠㅠ
제가 디플로이할 때 문제가 없었으나 문제가 있을 수도 있습니다..


* 메인 출처: 이두희 대장님의 "멋쟁이 사자처럼" 4기 온라인 강의


//t2.micro 기준//


Passenger gem 설치

gem install passenger


gcc c++ 설치

sudo yum install -y gcc-c++.noarch libcurl-devel.x86_64 sqlite-devel pcre-devel.x86_64

sudo chmod o+x "/home/ec2-user"


루트 계정 비밀번호 만들기 (비밀번호 설정)

sudo passwd


su로 접속(su 엔터 후 비밀번호 엔터)

su


Phusion Passenger Nginx module 깔기

passenger-install-nginx-module


화살표 내리고 스페이스바로 파이선은 해제. 즉 루비만 체크.


* 메모리 부족하다 뜸(t2.micro 기준) // 상위 티어의 경우 아래의 과정이 불필요할 수 있습니다.

ctrl+c


sudo dd if=/dev/zero of=/swap bs=1M count=1024

sudo mkswap /swap

sudo swapon /swap


passenger-install-nginx-module


1. Yes: download, compile and install Nginx for me. (recommended)

1


Please specify a prefix directory [/opt/nginx]:

그냥 엔터


설치 완료 확인되면

엔터


관리자 계정에서 빠져나옴

exit


루트 폴더 변경

sudo vi /opt/nginx/conf/nginx.conf


쭉 내리다가 server로 시작하는 곳 위에다가 아래의 내용을 넣음


server {

listen 80;

server_name 서버 도메인 주소 혹은 IP 주소;

passenger_enabled on;

root /home/ec2-user/프로젝트 이름(중요, 폴더명 확인)/public;

}


nginx ON

sudo /opt/nginx/sbin/nginx

위에 쳤는데 오류가 뜨면

sudo /opt/nginx/sbin/nginx -s reload


프로젝트 디렉터리로 이동

cd ~

cd 프로젝트 이름

rake db:migrate RAILS_ENV=production


만약, 오류 뜨면 프로젝트 루트 폴더에 Gemfile에서 therubyracer에 대한 주석을 삭제

vi Gemfile

#gem 'therubyracer', platforms: :ruby => gem 'therubyracer', platforms: :ruby


다시

rake db:migrate RAILS_ENV=production


rake secret

하고 나온 키를 복사


vi ~/.bashrc


맨 밑에 줄에


export SECRET_KEY_BASE=아까 나온 키값


프로젝트 폴더에서

mkdir tmp


패신저 재실행

touch tmp/restart.txt


아래의 사이트에 자세히 설명되어 있으니 참고하면 좋다.

https://www.phusionpassenger.com/library/walkthroughs/deploy/ruby/


keyword
매거진의 이전글Ubuntu에 퓨전 패신저(+Nginx) 설치