2024년 2월 14일 수요일

Docker를 이용한 Nginx + PHP 서버 구축 가이드


Docker를 이용한 Nginx + PHP 서버 구축 가이드



1. Docker 환경 설정

먼저 Docker를 설치해야 합니다. Docker는 공식 웹사이트에서 다운로드할 수 있으며, 플랫폼에 맞는 설치 파일을 선택하여 설치합니다. 설치가 완료되면 Docker Desktop 애플리케이션을 실행하여 Docker가 정상적으로 작동하는지 확인합니다.

2. Dockerfile 작성 및 이미지 빌드

이제 Docker를 사용하여 Nginx, Node.js Express, PHP 서버를 포함하는 이미지를 만들어 보겠습니다. 프로젝트 폴더 내에 Dockerfile을 생성하고 다음 내용을 작성합니다.

Dockerfile

# Nginx base image
FROM nginx:latest

# Copy nginx configuration
COPY nginx.conf /etc/nginx/nginx.conf

# Set working directory
WORKDIR /var/www/html

# Copy PHP files
COPY index.php .

# Expose port
EXPOSE 80

이제 Nginx의 설정 파일인 nginx.conf를 프로젝트 폴더에 생성하고 원하는 설정을 추가합니다. 이제 다음과 같은 내용을 작성합니다.

nginx

# nginx.conf

server {
    listen 80;
    server_name localhost;

    location / {
        root /var/www/html;
        index index.php index.html index.htm;
    }

    location ~ \.php$ {
        fastcgi_pass php:9000;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }
}

이제 프로젝트 폴더에 PHP 파일을 생성하고 필요한 코드를 작성합니다. 예를 들어, index.php 파일을 다음과 같이 작성할 수 있습니다.

php

<?php
echo "Hello, PHP!";

이제 Docker 이미지를 빌드합니다. 터미널에서 다음 명령을 실행합니다.

bash

docker build -t nginx-node-php .

3. 컨테이너 실행 및 서버 확인

이제 Docker 이미지를 실행하여 서버를 확인합니다. 다음 명령을 사용하여 컨테이너를 실행합니다.

bash

docker run -d -p 8080:80 --name my-server nginx-node-php

이제 브라우저에서 http://localhost:8080을 열어서 ""Hello, PHP!"" 메시지가 표시되는지 확인합니다.

이제 Docker를 사용하여 Nginx, Node.js Express, PHP 서버를 포함하는 간단한 서버를 구축하는 방법을 알게 되었습니다. 이를 통해 서버를 쉽게 배포하고 관리할 수 있습니다.