이 가이드는 App Engine 표준 환경에서 실행되는 Node.js 웹 서비스를 작성하는 방법을 보여 줍니다. Node.js 런타임과 작동 방법에 대한 자세한 내용은 Node.js 런타임 환경을 참조하세요.
시작하기 전에
핵심 사항
package.json
파일에 종속 항목을 나열하여 사용할 수 있습니다. 자세한 내용은 종속 항목 지정을 참조하세요.- App Engine은
npm start
를 실행하여 애플리케이션을 시작합니다. - 서버는 App Engine 런타임에 의해 설정되는 환경 변수인
process.env.PORT
로 지정된 포트를 수신 대기해야 합니다. - App Engine에 서비스를 배포하려면
app.yaml
파일이 있어야 합니다.
HTTP 요청을 수신 대기할 서버 만들기
웹 서비스의 핵심은 HTTP 서버입니다. 이 가이드의 샘플 코드는 Express.js 프레임워크를 사용하여 HTTP 요청을 처리하지만 원하는 웹 프레임워크를 사용할 수 있습니다.
Node.js 서비스를 위한
my-nodejs-service
라는 새 폴더를 만듭니다.터미널에서 폴더로 이동하고
npm init
을 실행하여package.json
파일을 만듭니다.다음을 실행하여 Express를 종속 항목으로 추가합니다.
npm install express
package.json
파일의dependencies
필드에 Express가 표시되는지 확인합니다. 예를 들면 다음과 같습니다.{ ... "dependencies": { "express": "^4.16.3" } ... }
start
스크립트를package.json
파일에 추가합니다."scripts": { "start": "node server.js" }
같은 폴더에
server.js
라는 파일을 만들고 다음 코드를 추가합니다.
이는 매우 기본적인 웹 서버입니다. 루트 경로('/'
)에 대한 모든 GET
요청에 'Hello from App Engine!' 텍스트로 응답합니다. 위 코드에서 마지막 4줄을 보면 서버가 App Engine 런타임에 의해 설정되는 환경 변수인 process.env.PORT
로 지정된 포트를 리슨하도록 설정되었습니다. 서버가 이 포트에 리슨하도록 설정되지 않으면 요청을 수신하지 않습니다.
process.env.PORT
가 설정되지 않으면 포트 8080
이 기본값으로 사용됩니다. 로컬에서 실행되는 동안 process.env.PORT
가 설정되지 않으므로(앱이 App Engine에서 실행되는 경우에만 설정됨), 로컬에서 앱을 테스트해야 합니다. 테스트용으로 선호하는 포트를 사용할 수 있지만 이 가이드는 8080
을 사용합니다.
로컬에서 서버 실행
로컬에서 서버를 실행하려면 다음 단계를 따르세요.
터미널에서
npm start
을 실행하세요. 그러면server.js
파일이 실행됩니다.웹 브라우저에서
http://localhost:8080
으로 이동합니다.
'Hello from App Engine!' 텍스트가 있는 페이지가 표시됩니다.
app.yaml
파일 만들기
app.yaml
파일은 App Engine 서비스의 런타임 환경에 대한 설정을 지정합니다. 이 파일이 없으면 서비스가 배포되지 않습니다.
my-nodejs-service
폴더에서app.yaml
파일을 만듭니다.다음 콘텐츠를 추가합니다.
이 파일은 App Engine에 Node.js 런타임 버전을 나타내는 최소한의 구성 파일입니다.
app.yaml
파일은 네트워크 설정, 확장 설정 등을 지정할 수도 있습니다. 자세한 내용은app.yaml
참조를 확인하세요.
이제 파일 구조가 다음과 같이 됩니다.
my-nodejs-service/
app.yaml
package.json
server.js
다음 단계
올바른 포트를 리슨하는 간단한 Node.js 웹 서버를 만들고 app.yaml
파일에서 런타임을 지정했습니다. 이제 App Engine에 서비스를 배포할 수 있습니다.
직접 사용해 보기
Google Cloud를 처음 사용하는 경우 계정을 만들어 실제 시나리오에서 App Engine의 성능을 평가할 수 있습니다. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
App Engine 무료로 사용해 보기