티스토리 뷰

Ruby on rails -웹 aws에 배포하기


1. aws 콘솔사이트 https://ap-northeast-2.console.aws.amazon.com/console/home?region=ap-northeast-2# 에 접속한다. 그리고 ec2를 클릭한다.

2. 인스턴스 생성의 인스턴스 시작을 클릭한다.


3.ami를 선택하여 진행한다.


4.검토및 시작을 누른다.

5.아래와 같이 http유형의 보안그룹을 추가해준다.

6.원하는 이름으로 key pair를 만들어 다운로드 한다. (이 키페어 파일은 aws에 접속할때 필요하니 꼭 저장한폴더를 기억하고, 잃어버리지 않게조심하세요)


7.인스턴스가 시작된다.


8.아래와 같이 name에 값을 입력해준다.




(맥의 경우)

연결을 누르면 아래와 같은 인스턴스에 연결이라는 메시지 창이 뜨는데

3.  chmod 400 ~~를 pem key가 있는 경로에서 해주고

4. ssh -i ~~~ 를 복사해 터미널에 입력해준다.




아래와같은 메시지가 뜬다. yes를 해주자.


워후! aws에 접속했당



9. 옵셔널이긴 하지만 sudo yum update를 해주어 y를 누르고 엔터를 눌러준다.


10.sudo yum search git


11.sudo yum install git-all.noarch


12. git clone 앞서 작업한 깃주소

ex) git clone https://github 블라블라


13.rvm을 깔아주자!

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3

rvm이란?

RVM은 Ruby Version Manager의 약자로, 여러 버전의 루비를 쉽게 관리할 수 있게 해주는 스크립트입니다. 



14. \curl -sSL https://get.rvm.io | bash -s stable 옆을 마져쳐주자.


15. source ~/.profile 이것동..


16. rvm install 2.3.3  터미널에 치기

난 프로젝트를 루비 2.3.3 버전으로 진행했기에 이 버전을 깔아주었다.

시간이 좀 걸린다. 화장실을 다녀오자.


17. gem install bundle( 레일즈 프로젝트를 진행할때 bundle install을 하는데 그거해주는거다.)


18. bundle install

(프로젝트 경로에 들어가서 해주는것을 잊지말자)


19.gem install passenger

서버를 켜주는 passenger gem을 설치한다.


20.nginx를 깔기 전 비번을 셋팅하자 (루트 권한으로 작업을 하기 위함이다.)


21. su 

패스워드 변경후,관리자권한 접속을 위함이다.


22passenger-install-nginx-module

루비를 선택해 엔터를 누르고 엔터를 계속 누른다.


23.위과정에 서 다 안깔려서 몇개 해결할문제가 있다.

sudo yum search curl

sudo yum install libcurl-devel.x86_64

그리고 y를 차례로 눌러주면 설치가 완료된다.


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

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

sudo mkswap /swap

      sudo swapon /swap


25 passenger-install-nginx-module

루비만 선택하고 엔터 누르다가 1,2 선택에선 1번 선택

Please specify a prefix directory[/opt/nginx]: 라는 물음엔 그냥 엔터



엔진엑스가 깔리고 있을것이다 후후 이것도 좀 걸린다. 화장실 또 다녀오자.


26 내용 수정을 위해 vi 작업. sudo 해야 수정 가능.

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

(vi에서 line number 확인하기 위해 :set nu 명령어 입력했음)


참고로 vi에서 편집할때는 i를 눌러주면 편집가능합니다!

편집이 완료되면 esc

내용을 붙여넣을껀데 위치는 37번째 .

#gzip on;

(여기)


사이 (여기)에다가 다음을 복붙


server {

listen 80;

server_name example.com;

passenger_enabled on;

root /var/www/my_awesome_rails_app/public;

}


여기서 수정이 필요.

example.com 도메인으로(아직 도메인 없으면 상관없음)

밑에 루트 경로를

   /home/ec2-user/<프로젝트 폴더명>/public;

으로 수정하고 저장 ( ex: /home/ec2-user/cau-lion/public; )


편집이 끝나면 :wq! 명령어로 저장을 완료해줍니다.




27. 로컬 레일즈 프로젝트에서 Gemfile에서 다음 줄을 주석 해제

gem 'therubyracer', platforms: :ruby

28.수정   aws에서 git pull 후 bundle install


29.rake db:migrate RAILS_ENV=production


30.rake secret 입력후 나오는 코드 복사하기


31.vi secrets.yml 파일 수정

 

production:

secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>


원래 이렇게 되어있던 자리에 <%= %> 구문 대신 아까 rake secret으로 생성했던 코드를 입력하기.


32.저장 빠져나와서 다시 프로젝트 폴더로 이동


33. sudo /opt/nginx/sbin/nginx 서버 재시작! 끝!








댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함