신규 고객모든 신규 계정에 DNS와 CDN 무료 요금제를 제공합니다.계정 만들기

앱 배포

Dedicated Container에 장기 실행 Node.js, Python 및 Go 앱을 배포하고 PHP-FPM, PHP 버전, 확장 기능 및 php.ini를 관리합니다.

5 분 소요 업데이트 2026년 10월 20일

이 가이드에서는 Dedicated Container에 장기 실행 Node.js, Python 또는 Go 앱을 배포하는 방법, PHP-FPM을 관리하는 방법, PHP 버전을 변경하고 확장 기능을 설치하며 php.ini를 편집하는 방법을 설명합니다.

런타임

모든 컨테이너에는 다음 런타임이 포함되며 기본 PATH에서 사용할 수 있습니다(node, npm, python3, go, java, ruby, php 등).

런타임버전
PHP8.1 및 8.2, 콘솔에서 전환 가능
Node.js, Python, Go, Java, Ruby이미지마다 각 런타임의 버전 하나 제공

정확한 버전을 보려면 컨테이너의 설정 관리 탭을 열고 런타임 환경 카드를 확인합니다.

앱 배포

컨테이너 페이지의 앱 관리 탭에는 PHP-FPM, Node.js, Python, Golang의 네 가지 런타임 카드가 있습니다. 아직 앱을 배포하지 않았다면 Node.js, Python 및 Golang 카드에 앱 배포 버튼이 표시됩니다.

1단계: 코드 업로드

코드는 컨테이너 내부의 /var/www/html 또는 그 하위 디렉터리에 있어야 합니다. 파일 관리 탭의 루트 /는 컨테이너의 /var/www/html에 해당합니다. 압축 파일을 업로드한 후 해당 위치에서 압축을 풀거나, 원격 다운로드를 사용하여 URL에서 가져올 수 있습니다. 파일 및 예약 작업을 참조하십시오.

앱에 종속성이 필요한 경우(예: npm install 또는 pip install로 설치) 로컬에서 빌드하고 종속성을 포함한 디렉터리를 업로드합니다.

2단계: 시작 설정 입력

  1. 컨테이너 페이지를 열고 앱 관리 탭으로 전환합니다.

  2. 필요한 런타임 카드에서 앱 배포를 클릭합니다.

  3. 대화 상자에 다음 정보를 입력합니다.

    필드설명
    시작 명령어앱을 시작하는 전체 명령입니다. 예: node app.js, npm start, python app.py, gunicorn app:app -b 0.0.0.0:$PORT 또는 ./app
    작업 디렉터리명령을 실행할 디렉터리입니다. 기본값은 /var/www/html입니다
    수신 포트컨테이너 내부에서 앱이 수신하는 포트입니다. 기본값은 3000이며 범위는 1–65535입니다
  4. 배포 및 시작을 클릭합니다. "앱이 배포되어 시작되었습니다"이 표시되면 카드 상태가 실행 중으로 변경됩니다.

팁

입력한 포트는 PORT 환경 변수로 프로세스에 전달됩니다. 포트를 하드 코딩하지 않도록 코드에서 PORT를 읽으십시오(예: Node.js의 process.env.PORT).

시작 명령의 실행 방식

  • 명령은 /bin/sh -c를 통해 실행되므로 인수를 전달하고, 환경 변수(예: $PORT)를 확장하고, 간단한 셸 구문을 사용할 수 있습니다.
  • 앱은 컨테이너의 www 사용자로 실행됩니다. 이 사용자가 코드 파일을 읽고 앱에서 사용하는 출력 디렉터리에 쓸 수 있는지 확인하십시오.
  • 컨테이너 내부의 프로세스 관리자가 앱을 관리합니다. 컨테이너가 시작되면 앱을 시작하고, 앱이 예기치 않게 종료되면 자동으로 다시 시작합니다.
  • Go의 경우 로컬에서 Linux 바이너리를 컴파일하여 업로드한 후 ./app과 같은 명령을 사용합니다.

런타임당 하나의 앱

각 런타임 카드는 하나의 앱 프로세스를 관리합니다. 예를 들어 Node.js 카드에서는 Node.js 앱 하나를 실행할 수 있습니다. 앱을 배포하면 카드의 앱 배포 버튼이 시작, 중지, 다시 시작 및 로그로 바뀝니다.

실행 중인 앱 관리

앱 관리 탭에서 다음 작업을 수행합니다.

  • 시작 / 중지 / 다시 시작으로 앱 프로세스를 제어합니다.
  • 로그에서 앱의 stdout 및 stderr 마지막 200줄을 확인합니다. 대화 상자에서 새로고침을 클릭하여 다시 불러옵니다.
  • 상태 새로고침으로 모든 런타임 카드를 다시 불러옵니다. 각 카드에는 확인 가능한 경우 버전, PID 및 가동 시간이 표시됩니다.

런타임에 앱을 배포하지 않은 경우 해당 카드에는 중지됨 상태와 앱 배포 버튼이 표시됩니다. 이 상태에서 시작을 클릭하면 먼저 앱을 배포하라는 안내가 표시됩니다.

PHP-FPM

PHP-FPM은 모든 컨테이너에서 기본적으로 실행되므로 따로 배포할 필요가 없습니다. PHP-FPM 카드에서 중지, 시작, 다시 시작 및 로그 확인을 수행할 수 있습니다.

PHP 버전 변경

  1. PHP 버전 전환을 클릭합니다. 이 버튼은 개요 탭의 빠른 작업 및 설정 관리 탭의 PHP 설정 카드에 있습니다.
  2. PHP 8.1 또는 PHP 8.2를 선택하고 전환 확인을 클릭합니다.

변경 후 PHP-FPM이 자동으로 다시 시작되며, 기본 PHP를 사용하는 모든 코드에 영향을 줍니다. 변경하기 전에 코드가 대상 버전에서 동작하는지 확인하십시오.

확장 기능 및 php.ini

PHP 설정 탭을 엽니다.

  • PHP 확장: 로드된 확장 기능은 초록색 태그로 표시됩니다. 태그를 클릭하면 해당 확장 기능이 비활성화되므로, 핵심 확장 기능은 주의해서 다루십시오. 설치하려면 이름(예: redis, imap, soap, gmp)을 입력하고 설치를 클릭합니다. 확장 기능은 공식 Alpine 패키지에서 설치됩니다.
  • php.ini: 브라우저에서 활성 PHP 버전의 전체 php.ini를 편집합니다. 저장하면 PHP-FPM이 자동으로 핫 재시작됩니다.
참고

확장 기능과 php.ini는 활성 PHP 버전에만 적용됩니다. 버전을 변경한 후 새로고침을 클릭하여 해당 버전의 구성을 불러오십시오.

모니터링 및 컨테이너 작업

  • 개요 탭에는 CPU 사용률, 메모리 사용량, 디스크 사용량 및 네트워크 트래픽과 함께 컨테이너의 CPU, 메모리 및 디스크 한도가 표시됩니다.
  • 상단 버튼으로 컨테이너를 시작, 중지 또는 다시 시작합니다. 컨테이너가 중지된 동안에는 내부의 모든 앱을 사용할 수 없습니다.
  • Dedicated Containers 목록에서 컨테이너를 삭제할 수 있습니다. 컨테이너를 삭제하면 모든 데이터가 영구적으로 지워지며 복구할 수 없습니다.

API를 통한 배포

콘솔에서 사용하는 엔드포인트를 직접 호출할 수도 있습니다. Authorization: Bearer <token> 헤더에 로그인 토큰을 전달합니다. container_id는 컨테이너 목록에서 반환된 id입니다.

bash
# List containers
curl -H "Authorization: Bearer $TOKEN" \
  https://api.yeap.cloud/api/user/host/containers

# Deploy a Node.js app
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  https://api.yeap.cloud/api/user/host/apps/create \
  -d '{"container_id": 123, "type": "nodejs", "config": "node app.js", "working_dir": "/var/www/html", "port": 3000}'

# App status and recent logs
curl -H "Authorization: Bearer $TOKEN" \
  "https://api.yeap.cloud/api/user/host/apps/status?container_id=123&type=nodejs"
curl -H "Authorization: Bearer $TOKEN" \
  "https://api.yeap.cloud/api/user/host/apps/logs?container_id=123&type=nodejs&lines=200"

type은 nodejs, python 또는 golang일 수 있습니다. 시작, 중지 또는 다시 시작하려면 본문 {"container_id": 123, "type": "nodejs"}와 함께 POST /api/user/host/apps/start, /stop 또는 /restart를 호출합니다.

이 페이지가 도움이 되었습니까?