저작권 안내
- 책 또는 웹사이트의 내용을 복제하여 다른 곳에 게시하는 것을 금지합니다.
- 책 또는 웹사이트의 내용을 발췌, 요약하여 강의 자료, 발표 자료, 블로그 포스팅 등으로 만드는 것을 금지합니다.
애플리케이션 구성과 배포를 자동화하는 OpsWorks
이재홍 http://www.pyrasis.com 2014.03.24 ~ 2014.06.30
OpsWorks PHP App 생성하기
간단한 PHP 소스 코드를 작성하여 App을 생성해보겠습니다. 다음 내용을 index.php로 저장합니다.
index.php
<html>
<head>
<title>Hello OpsWorks</title>
</head>
<body>
<?php echo 'Hello OpsWorks'; ?>
</body>
</html>
index.php 파일을 app.zip으로 압축한 뒤 S3 버킷에 올립니다. S3 버킷을 생성하고 파일을 올리는 방법은 '11.1 S3 버킷 생성하기', '11.2 S3 버킷에 파일 올리기/받기'를 참조하기 바랍니다.
그림 24-16 S3 버킷에 PHP 소스 코드 업로드
OpsWorks 인스턴스 목록에서 위쪽 Navigation을 클릭하면 팝업 메뉴가 나옵니다. Apps를 클릭합니다.
그림 24-17 OpsWorks 인스턴스 목록
OpsWorks App 목록에서 Add an app을 클릭합니다.
그림 24-18 OpsWorks App 목록
OpsWorks PHP App을 생성합니다(그림 24-19).
- Name: App 이름입니다. examplephp를 입력합니다.
- Type: App 종류입니다. 기본값 그대로 사용합니다.
- Document root: 작성한 소스 코드가 디렉터리로 구분되어 있을 때 최상위 문서의 경로입니다. 기본값 그대로 사용합니다.
- Data source type: 데이터베이스 사용 옵션입니다. RDS를 사용하거나, OpsWorks로 구성한 데이터베이스를 사용할 수 있습니다. 기본값 그대로 사용합니다.
- Repository type: 소스 저장소 종류입니다. Git, Subversion, Http Archive, S3 Archive를 사용할 수 있습니다. S3 Archive를 선택합니다.
- Repository URL: S3 버킷에 올린 app.zip 파일의 URL을 입력합니다.
- Access key ID: S3 버킷에 접근할 수 있도록 액세스 키를 입력합니다.
- Secret access key: 액세스 키의 시크릿 키를 입력합니다. 액세스 키와 시크릿 키를 생성하는 방법은 '9장 API와 툴 사용을 위한 액세스 키 생성하기'를 참조하기 바랍니다.
- Domain name: 도메인을 설정 옵션입니다. 도메인을 구입하였다면 도메인을 입력합니다. 기본값 그대로 사용합니다.
- Enable SSL: SSL 사용 옵션입니다. 기본값 그대로 사용합니다.
설정이 완료되었으면 Add App 버튼을 클릭합니다.
그림 24-19 OpsWorks App 생성
OpsWorks PHP App이 생성되었습니다.
그림 24-20 OpsWorks App 생성 완료
Node.js App 작성하기
아래 내용을 server.js로 저장합니다. 파일 이름을 app.js로 해서 OpsWorks에 배포하면 동작하지 않습니다.
server.js
var express = require('express')
, http = require('http')
, app = express();
app.get(['/', '/index.html'], function (req, res) {
res.send('Hello OpsWorks');
});
http.createServer(app).listen(80);
아래 내용을 package.json으로 저장합니다.
package.json
{
"name": "hello",
"description": "Hello OpsWorks",
"version": "0.0.1",
"dependencies": {
"express": "4.4.x"
}
}
두 파일을 Git 저장소에 올리거나 app.zip으로 저장하여 S3 버킷에 올립니다.
저작권 안내
이 웹사이트에 게시된 모든 글의 무단 복제 및 도용을 금지합니다.- 블로그, 게시판 등에 퍼가는 것을 금지합니다.
- 비공개 포스트에 퍼가는 것을 금지합니다.
- 글 내용, 그림을 발췌 및 요약하는 것을 금지합니다.
- 링크 및 SNS 공유는 허용합니다.
Published
2014-09-30