웹사이트 검색

Debian 9 Stretch에 LEMP(Linux, Nginx, MariaDB, PHP-FPM)를 설치하는 방법


Debian은 전 세계 웹 서버의 상당 부분을 지원하므로 이 문서에서는 LEMP(Linux + Nginx)를 설치하는 방법을 설명합니다. + MariaDB + PHP-FPM) LAMP의 대안으로 Debian 9 Stretch에 스택(이 가이드를 사용하여 Debian 9에 LAMP를 설치하세요).

또한 새로운 시스템 관리자라도 새로운 웹 서버를 설정하여 동적 페이지를 설정할 수 있도록 최소한의 Nginx/PHP-FPM 구성을 수행하는 방법을 보여줍니다.

이를 위해 배포판 공식 리포지토리의 최신 업데이트를 활용할 것입니다. 베어메탈, 가상 머신, VPS에 Debian 9를 설치했거나 Jessie에서 업그레이드했다고 가정합니다.

Debian 9 Stretch에 LEMP 설치하기

LEMP 스택의 일부로 PHP 대신 PHP-FPM을 언급한 이유가 궁금할 것입니다. 다른 웹 서버와 달리 NginxPHP에 대한 기본 지원을 제공하지 않습니다.

이러한 이유로 PHP-FPM(Fast Process Manager)은 PHP 페이지에 대한 요청을 처리하는 데 사용됩니다. PHP 공식 사이트에서 PHP-FPM에 대해 자세히 알아볼 수 있습니다.

Debian 저장소 php7.0-fpm에 제공되는 기본 버전입니다. 패키지 이름을 보면 짐작할 수 있듯이 이 버전은 PHP 7 코드가 포함된 페이지에 대한 요청도 처리할 수 있습니다.

참고: 이전에 동일한 상자에 Apache를 설치한 경우 계속하기 전에 Apache가 중지 및 비활성화되었는지 확인하세요.

그렇다면 LEMP 스택의 구성 요소를 다음과 같이 설치해 보겠습니다.

aptitude update 
aptitude install nginx mariadb-server mariadb-client php-mysqli php7.0-fpm

설치가 완료되면 먼저 NginxPHP-FPM이 실행 중이고 부팅 시 시작할 수 있도록 활성화되어 있는지 확인하세요.

systemctl status nginx php7.0-fpm

하나 또는 두 서비스가 모두 실행되고 있지 않음을 나타내는 경우 실행하십시오.

systemctl start nginx php7.0-fpm
systemctl enable nginx php7.0-fpm

모든 MariaDB 또는 MySQL 설치의 경우와 마찬가지로 mysql_secure_installation을 실행하여 최소한의 보안 구성을 수행하고 비밀번호를 설정하는 것이 중요합니다. 데이터베이스 루트 계정.

mysql_secure_installation

이를 수행하는 방법을 모르는 경우 Debian 및 Ubuntu에 MariaDB 10을 설치하는 방법의 4단계를 참조할 수 있습니다.

Debian 9에서 PHP-FPM을 사용하도록 Nginx 구성

Nginx 기본 구성 파일은 /etc/nginx/sites-available/default이며, 여기서 서버 블록 내에서 다음과 같이 변경해야 합니다.

  • fastcgi_pass 지시문이 루프백 NIC를 가리키는 블록을 제외하고 PHP 요청을 처리하는 location 블록이 활성화되어 있는지 확인하세요.
  • index.phpindex 지시문 뒤에 추가하여 발견된 경우 기본적으로 index.html 또는 다른 파일보다 먼저 제공되어야 함을 나타냅니다.
  • 서버의 IP 주소 또는 호스트 이름을 가리키는 server_name 지시어를 추가합니다. 우리의 경우 192.168.0.35가 됩니다.
  • 또한 root 지시문이 .php 파일이 저장될 위치(기본적으로 /var/www/html)를 가리키는지 확인하세요. .

완료되면 다음 명령을 사용하여 구성 파일에 오류가 있는지 테스트할 수 있습니다.

nginx -t 

이 시점에서 /etc/nginx/sites-available/default는 다음과 같아야 합니다. 여기서 구성을 참조하는 숫자는 위 목록을 나타냅니다.

grep -Ev '#' /etc/nginx/sites-available/default

Debian 9에서 Nginx 및 PHP-FPM 테스트

이제 Nginx를 웹 서버로 사용하고 있는지 확인하기 위해 /var/www/html 내에 info.php라는 파일을 생성해 보겠습니다. 다음 내용:

<?php
	phpinfo();
?>

그런 다음 http://192.168.0.35/info.php로 이동하여 다음 내용이 표시되는 페이지 상단을 확인하세요.

마지막으로, Debian 9에 LAMP(Linux, Apache, MariaDB 또는 MySQL 및 PHP) 스택 설치에서 생성한 booksandauthors.php 파일을 브라우저에 지정해 보겠습니다.

다음 이미지에서 볼 수 있듯이 이 파일은 이제 Nginx에서 제공됩니다.

참고: Nginx가 .php 파일을 실행하는 대신 다운로드로 제공하는 경우 브라우저 캐시를 지우거나 다른 브라우저를 사용해 보세요. . 특히 Chrome을 사용하는 경우 시크릿 모드로 테스트하는 것이 좋습니다.

요약

이 글에서는 동적 .php 페이지를 제공하기 위해 Nginx를 설치하고 구성하는 방법을 설명했습니다. 이 초기 설정 후에는 웹 서버 보안을 위해 고려해야 할 설정이 있다는 점에 유의하는 것이 중요합니다.

Nginx 웹 서버의 보안, 강화 및 성능 향상을 위한 궁극적인 가이드에서 기본 요약을 찾을 수 있습니다.

Nginx에서 가상 호스팅을 찾고 있다면 NGINX에서 이름 기반 및 IP 기반 가상 호스트를 설정하는 방법을 읽어보세요.

언제나 그렇듯이, 이 기사에 대한 질문이나 의견이 있으면 주저하지 말고 알려주십시오.