서버 설정 · 2 min read · Sep 30, 2025

CentOS 8에서 PHP-FPM과 함께 Nginx 설치 및 구성하는 방법

Nginx는 무료이며 오픈 소스인 세계에서 가장 강력한 웹 서버 중 하나입니다. 주로 고부하 및 고트래픽 웹사이트에 사용됩니다. Nginx는 안정성, 간단한 구성 및 낮은 자원 소비로 유명합니다. Nginx를 웹 서버 및 리버스 프록시로 사용할 수 있습니다.

FPM은 FastCGI Process Manager의 약자로, PHP의 대안 FastCGI 구현이며 고트래픽 웹사이트에 사용됩니다. PHP 페이지를 제공하기 위해 웹 서버와 함께 일반적으로 사용됩니다. PHP-FPM은 PHP를 실행하는 다른 방법에 비해 메모리와 CPU를 덜 사용합니다. PHP-FPM은 다중 사용자 PHP 환경에서 전통적인 CGI 기반 방법보다 빠릅니다. PHP-FPM은 또한 동시에 여러 버전의 PHP를 실행할 수 있게 해줍니다.

이 튜토리얼에서는 CentOS 8에서 PHP-FPM 지원과 함께 Nginx를 설치하는 방법을 배웁니다.

필수 조건

  • CentOS 8이 실행되는 서버.
  • 서버에 루트 비밀번호가 구성되어 있어야 합니다.

시작하기

기본적으로 SELinux는 CentOS 8 서버에서 활성화되어 있습니다. 따라서 먼저 비활성화해야 합니다.

/etc/selinux/config 파일을 편집하여 이 작업을 수행할 수 있습니다:

nano /etc/selinux/config

다음과 같이 변경합니다:

SELINUX=disabled

파일을 저장하고 닫습니다. 그런 다음 변경 사항을 적용하기 위해 서버를 재시작합니다.

Nginx 웹 서버 설치

먼저 다음 명령어로 Nginx 웹 서버를 설치합니다:

yum install nginx -y

Nginx가 설치되면, 다음 명령어로 Nginx 서비스를 시작하고 부팅 시 자동으로 시작되도록 활성화합니다:

systemctl start nginx  
systemctl enable nginx

작업이 완료되면 다음 단계로 진행할 수 있습니다.

PHP 및 PHP-FPM 설치

다음으로, 다음 명령어를 실행하여 PHP 및 PHP-FPM을 설치합니다:

yum install php php-cli php-common php-fpm -y

모든 패키지가 설치되면, PHP-FPM 서비스를 시작하고 시스템 재부팅 후 자동으로 시작되도록 활성화합니다:

systemctl start php-fpm  
systemctl enable php-fpm

다음 명령어로 PHP-FPM 서비스의 상태를 확인할 수도 있습니다:

systemctl status php-fpm

다음과 같은 출력이 표시되어야 합니다:

? php-fpm.service - The PHP FastCGI Process Manager
   Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled; vendor preset: disabled)
   Active: active (running) since Thu 2019-10-17 05:39:11 EDT; 4min 40s ago
 Main PID: 1475 (php-fpm)
   Status: "Processes active: 0, idle: 5, Requests: 0, slow: 0, Traffic: 0req/sec"
    Tasks: 6 (limit: 5060)
   Memory: 28.5M
   CGroup: /system.slice/php-fpm.service
           ??1475 php-fpm: master process (/etc/php-fpm.conf)
           ??1478 php-fpm: pool www
           ??1479 php-fpm: pool www
           ??1480 php-fpm: pool www
           ??1481 php-fpm: pool www
           ??1482 php-fpm: pool www

Oct 17 05:39:10 centos8 systemd[1]: Starting The PHP FastCGI Process Manager...
Oct 17 05:39:11 centos8 systemd[1]: Started The PHP FastCGI Process Manager.

Nginx용 인덱스 페이지 만들기

다음으로, Nginx가 PHP-FPM을 사용하는지 테스트하기 위해 샘플 info.php 페이지를 만들어야 합니다.

다음과 같이 Nginx 기본 문서 루트 디렉토리 내에 info.php를 생성할 수 있습니다:

nano /var/www/html/info.php

다음 줄을 추가합니다:

작업이 완료되면 파일을 저장하고 닫습니다.

다음으로, info.php 파일의 소유권을 nginx로 변경합니다:

chown -R nginx: /var/www/html/info.php/

PHP-FPM과 함께 Nginx 구성

다음으로, Nginx 가상 호스트 구성 파일을 생성하고 PHP-FPM 지원을 활성화해야 합니다.

다음 명령어로 생성할 수 있습니다:

nano /etc/nginx/conf.d/example.conf

다음 줄을 추가합니다:

server {
    listen 80;
    server_name example.com;
    root /var/www/html/;
    index info.php;

    access_log /var/log/nginx/example.com.access.log;
    error_log /var/log/nginx/example.com.error.log;

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/run/php-fpm/www.sock;
        fastcgi_index   index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
        expires max;
        log_not_found off;
    }

}

파일을 저장하고 닫습니다. 그런 다음 다음 명령어로 Nginx의 구문 오류를 테스트합니다:

ginx -t

다음으로, Nginx 가상 호스트 파일을 활성화하고 Nginx 서비스를 재시작하여 구성을 적용합니다:

systemctl restart nginx

PHP-FPM 지원으로 Nginx 테스트

이제 웹 브라우저를 열고 URL http://example.com을 입력합니다. 다음 페이지로 리디렉션됩니다:

위 페이지에서 PHP-FPM이 Nginx 웹 서버와 함께 로드된 것을 확인할 수 있어야 합니다.

결론

축하합니다! CentOS 8 서버에 PHP-FPM 지원과 함께 Nginx를 성공적으로 설치했습니다. 이제 PHP-FPM을 사용하여 서로 다른 버전의 PHP를 사용하는 여러 웹사이트를 호스팅할 수 있습니다.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.