구 원트노/AWS 디플로이
[Ruby on Rails + AWS + Mysql] 7. 환경 변수,데이터베이스,서버 실행(아마존 프리티어 사용해 웹 서버 구축하기)이전 글
[루비/루비 온 레일즈] - [Ruby on Rails + AWS + Mysql] 0. AWS란 (아마존 프리티어 사용해 웹 서버 구축하기)
[루비/루비 온 레일즈] - [Ruby on Rails + AWS + Mysql] 1. rails 프로젝트 준비하기 (아마존 프리티어 사용해 웹 서버 구축하기)
[루비/루비 온 레일즈] - [Ruby on Rails + AWS + Mysql] 2. AWS EC2 인스턴스 생성 (아마존 프리티어 사용해 웹 서버 구축하기)
[루비/루비 온 레일즈] - [Ruby on Rails + AWS + Mysql] 3. putty 사용 (아마존 프리티어 사용해 웹 서버 구축하기)
[루비/루비 온 레일즈] - [Ruby on Rails + AWS + Mysql] 4. 서버 초기 세팅 (아마존 프리티어 사용해 웹 서버 구축하기)
[루비/루비 온 레일즈] - [Ruby on Rails + AWS + Mysql] 5. Mysql DB 서버 세팅 (아마존 프리티어 사용해 웹 서버 구축하기)
[루비/루비 온 레일즈] - [Ruby on Rails + AWS + Mysql] 6. passenger+nginx 웹 서버 세팅 (아마존 프리티어 사용해 웹 서버 구축하기)
1. 환경 변수 설정(figaro gem)
Rails에서는 환경 변수 값을 쉽게 설정해주는 gem으로 figaro가 있습니다.이것을 사용해서 여러 환경 변수 값을 설정해주겠습니다.
미리 프로젝트에 figaro gem을 설치해두었으므로 추가로 설치하지 않겠습니다.
만약 설치 안 했다면 gemfile에 gem "figaro"를 추가하세요.
일단 figaro gem을 사용하겠습니다.
1 | bundle exec figaro install | cs |
이 후 생성된 config/application.yml 에 환경 변수 값을 설정해주면 됩니다.
1 2 3 | production: SECRET_KEY_BASE: "2d8f75c9be5c591a5d990165e23dc44e6b62f111cde71f" #rake secret으로 생성한 무작위 SUMMERFOLD_DATABASE_PASSWORD: "비밀번호" #mysql root 계정 비밀번호 | cs |
여기서 보이는 SECRET_KEY_BASE 같은 환경 변수값은 원래 어디에 설정되어 있나면
config/secret.yml에
또 config/database.yml에
이런식으로 설정 되어있었던 것들입니다.
2. 데이터베이스 마이그레이션
production모드로 데이터베이스 마이그레이션을 하겠습니다.
mysql은 sqlite와 다르게 migrate하기 전에 create를 먼저 해줘야 합니다.
1 2 | rake db:create RAILS_ENV=production rake db:migrate RAILS_ENV=production | cs |
3. 웹 서버 실행
마지막 작업으로 웹 서버를 실행하고 precompile작업을 합니다.
먼저 nginx 서버를 실행합니다.
1 | sudo /opt/nginx/sbin/nginx | cs |
다음으로 precompile 작업을 해줍니다.
1 | RAILS_ENV=production rake assets:precompile | cs |
마지막으로
1 | touch tmp/restart.txt | cs |
1 | sudo kill $(cat /opt/nginx/logs/nginx.pid) | cs |
이렇게 인스턴스의 public ip로 접속하면
생성한 프로젝트가 가동되고 있는 것을 볼 수 있습니다.
이 포스팅을 마지막으로 "아마존 프리티어 사용해 웹 서버 구축하기" 작업이 끝이 났습니다.
비록 작업이 복잡하더라도 한 번 처음부터 끝까지 해본다면 흐름을 이해하실 수 있을 겁니다.
긴 글 읽어주셔서 감사합니다.
궁금하신 점 있으시면 댓글 남겨주세요!!
'구 원트노 > AWS 디플로이' 카테고리의 다른 글
[멋쟁이 사자처럼 5기] c9 프로젝트 github 페이지에 올리기 1 (15) | 2017.03.23 |
---|---|
[멋쟁이 사자처럼 5기] c9 프로젝트 github 페이지에 올리기 0 - c9과 github이란? (5) | 2017.03.23 |
[Ruby on Rails + AWS + Mysql] 6. passenger+nginx 웹 서버 세팅 (아마존 프리티어 사용해 웹 서버 구축하기) (0) | 2017.01.20 |
[Ruby on Rails + AWS + Mysql] 5. Mysql DB 서버 세팅 (아마존 프리티어 사용해 웹 서버 구축하기) (0) | 2017.01.19 |
[Ruby on Rails + AWS + Mysql] 4. 서버 초기 세팅 (아마존 프리티어 사용해 웹 서버 구축하기) (0) | 2017.01.18 |