rails의 배치 실천 총결산
일단 캡스트라노가 뭘 도와줄 수 있는지 얘기해볼까요? ##
우리가 rails를 사용하여 간단한 서버를 만들 때, 마지막으로 우리는 그것을 우리 자신의 서버에 똑같이 세워야 한다.capstrano는 이러한 장면에서 발생한 것이다. 최종적으로 우리는 우리의 응용 프로그램의 메인 디렉터리에서 직접 호출
cap production deploy
(production은 우리의 개발 환경을 가리킨다)만 하면 서버에서 우리가 변경한 실행 프로그램을 직접 볼 수 있다. 물론 그 전에 레일스에서 필요한 설정을 해야 한다.주요 문제 기록
# The server-based syntax can be used to override options:
# ------------------------------------
server 'ec2-52-193-240-0.ap-northeast-1.compute.amazonaws.com',
user: 'ubuntu',
roles: %w{web app db},
ssh_options: {
#user: '****', # overrides user setting above
keys: %w(~/.ssh/david.pem),
forward_agent: false,
auth_methods: %w(publickey password),
#password: '****'
}
PS: 여기서 사용하는
.pem
파일은aws가 제공하는 개인 키 파일로 ssh 연결에 사용됩니다.proxy_pass
이 절을 직접 수정하고 우리의 주소를 가리키면 됩니다.proxy_pass http://localhost:3000;
다음은 우리 로컬 서비스의 3000 포트를 시작해야 합니다.
cap deploy
하면 저희 서버 프로그램도 자동으로 시작된다고 생각했습니다.그런데 그럼 내 포트는 몇 개야, 어떻게 설정했어?결국 내가 너무 순진해서 여기가 스스로 작동해야 한다는 것을 발견했다.서버 프로그램/var/www/app/current
디렉터리로 이동하여 실행bundle exec rails s -e production
을 통해 프로그램을 시작합니다.우리의 rails 프로그램이 시작된 상태인지 확인하고, 프로세스를 통해 명령을 실행하여 해당하는 프로세스가 있는지 확인할 수 있습니다.일반적인 명령
sudo service nginx restart
ps -ef | grep rails
nginx의 접근 로그와 오류 로그의 디렉터리를 볼 수 있습니다nginx -V
/etc/nginx/sites-enabled/
ps -ef | grep nginx
screen + // 。
screen -dmS {name} // , 。
screen -list // 。
screen -r {name} // 。
ctrl +ad // ctrl +a d, 。
exit // exit 。
마지막으로, 우리의 프로그램은 이미 완전하게 서버에서 뛰기 시작했는데, 과정은 여전히 꽤 우여곡절이 많다.그 동안 linux 명령에 대한 익숙함과 동시에 그 이름만 알았던 프로그램을 깊이 이해하게 되었고, 코드를 많이 사용해야 한다고 느꼈다.마지막으로 마지막으로 이 풋내기에게 벽돌을 두드리는 것을 환영합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.