웹사이트 검색

Debian 10 서버에 LEMP를 설치하는 방법


"LEMP" 스택은 동적 애플리케이션을 배포하기 위해 일반적으로 Linux 서버에 설치되는 오픈 소스 소프트웨어의 혼합입니다. 이 용어는 Linux 운영 체제, Nginx 웹 서버, MariaDB 데이터베이스 및 PHP 프로그래밍을 나타내는 약어입니다.

추가 읽기: Debian 10 서버에 LAMP를 설치하는 방법

이 “LEMP” 스택에는 일반적으로 데이터베이스 관리 시스템으로 MySQL이 포함되어 있지만 Debian과 같은 일부 Linux 배포판은 MariaDB를 사용합니다. Strong>은 MySQL을 즉시 대체할 수 있습니다.

요구사항

  1. Debian 10(Buster) 최소 서버를 설치하는 방법

이 글에서는 MariaDB를 데이터베이스 관리로 사용하여 Debian 10 서버에 LEMP 환경을 설치하고 설정하는 방법을 설명합니다. 플랫폼.

Debian 10에 Nginx 웹 서버 설치

Nginx는 가벼우면서도 강력하고 구성하기 쉬운 오픈 소스 크로스 플랫폼이며 HTTP 및 역방향 프록시 서버, 메일 프록시 서버, 일반 TCP/UDP 프록시입니다. 모듈식 아키텍처를 갖춘 서버입니다.

기본 기능 중 일부에는 정적 및 인덱스 파일 제공이 포함됩니다. FastCGI, uwsgi, SCGIMemcached 서버 캐싱, 로드 밸런싱 및 내결함성, SSL을 통한 지원 가속화 TLS SNI 지원, 가중치 및 종속성 기반 우선순위 지정을 통한 HTTP/2 지원.

Nginx 패키지를 설치하려면 표시된 대로 Debian의 apt 패키지 관리자를 사용하세요.

apt update 
apt install nginx 

Nginx 설치가 완료되면 설치 프로그램은 systemd를 활성화하여 지금은 Nginx 서비스를 시작하고 시스템 부팅 시 자동으로 시작되도록 활성화합니다. 다음 systemctl 명령을 사용하여 Nginx의 상태를 확인할 수 있습니다.

systemctl status nginx

다음과 같은 중요한 명령을 사용하여 systemd에서 Nginx 서비스 구성을 시작, 다시 시작, 중지 및 다시 로드할 수도 있습니다.

systemctl start nginx
systemctl restart nginx 
systemctl stop nginx
systemctl reload nginx 
systemctl status nginx 

다음으로, UFW 방화벽이 실행 중인 경우(일반적으로 기본적으로 비활성화되어 있음), 들어오는 트래픽을 허용하려면 포트 80(HTTP)443(HTTPS)을 열어야 합니다. Nginx에서.

ufw allow 80
ufw allow 443
ufw status

이 시점에서 Nginx가 제대로 설치되었는지, 실행 중이고 웹페이지를 제공할 수 있는지 테스트해야 합니다. 그렇게 하려면 웹 브라우저를 열고 다음 URL을 지정하여 Nginx Debian 기본 웹 페이지에 액세스하세요.

http://SERVER_IP/
OR
http://localhost/

Debian 10에 MariaDB 설치

다음으로, 웹 사이트나 웹 앱의 데이터를 저장하고 관리할 수 있도록 데이터베이스 시스템을 설치해야 합니다. Debian 10은 MySQL을 즉시 대체할 수 있도록 기본적으로 MariaDB를 지원합니다.

MariaDB를 설치하려면 다음 명령을 실행하세요.

apt install mariadb-server

다음으로, systemd에 의해 자동으로 시작되고 시스템 부팅 시 시작되도록 활성화된 MariaDB 서비스 상태를 확인하고, 서비스가 실행 중인지 확인하려면 다음 명령을 사용하세요.

systemctl status mariadb

systemd에서 MariaDB 서비스를 관리(시작, 다시 시작, 중지 및 다시 로드)하려면 다음 명령을 사용할 수 있습니다.

systemctl start mariadb
systemctl restart mariadb
systemctl stop mariadb
systemctl reload mariadb

다음으로 MariaDB 배포는 기본적으로 안전하지 않습니다. 데이터베이스 보안을 향상시키려면 패키지와 함께 제공되는 쉘 스크립트를 실행해야 합니다.

mysql_secure_installation

스크립트를 실행한 후 다음 스크린샷에 표시된 대로 MariaDB 설치의 기본 설정을 수정하기 위해 다음과 같은 일련의 질문을 안내합니다.

Debian 10에 PHP-FPM(빠른 프로세스 관리자) 설치

Apache 및 기타 웹 서버와 달리 NginxPHP-FPM을 사용하므로 PHP에 대한 기본 지원을 제공하지 않습니다. PHP 페이지에 대한 요청을 처리합니다. PHP-FPM은 작업자 프로세스를 사용하여 요청을 처리함으로써 웹사이트가 높은 로드를 처리할 수 있도록 하는 PHP용 대체 FastCGI 데몬입니다.

PHP-FPM 버전 7.3과 MariaDB/MySQL 데이터베이스 시스템과 통신하기 위한 PHP 모듈을 설치하려면 다음 명령을 실행하세요.

apt install php-fpm php-mysqli

PHP-FPM이 설치된 후 설치 프로그램은 systemd를 활성화하여 PHP-FPM 서비스를 시작하고 시스템 부팅 시 자동 시작되도록 활성화합니다. 실행 중인지 확인하려면 다음 명령을 실행하십시오.

systemctl status php-fpm

다음과 같이 systemd에서 PHP-FPM 서비스 구성을 시작, 다시 시작, 중지하고 다시 로드할 수도 있습니다.

systemctl start php-fpm
systemctl restart php-fpm
systemctl stop php-fpm
systemctl reload php-fpm
systemctl status php-fpm

다음으로, /etc/php/7.3/fpm/php.ini 구성 파일을 다음과 같이 일부 변경하여 PHP-FPM을 보호해야 합니다.

vi /etc/php/7.3/fpm/php.ini

;cgi.fix_pathinfo=1를 찾아 시작 부분에서 ; 문자를 제거하여 주석 처리를 해제하고 값을 0으로 설정하세요. 이는 Nginx가 PHP가 아닌 파일을 PHP로 실행하는 것을 방지합니다.

cgi.fix_pathinfo=0

기본적으로 PHP-FPM/etc에 정의된 대로 UNIX soxket, /run/php/php7.3-fpm.sock을 수신하도록 구성됩니다. /php/7.3/fpm/pool.d/www.conf 구성 파일. PHP 페이지를 처리하고 제공하려면 이 소켓을 사용하도록 모든 서버 블록(또는 가상 호스트)을 구성해야 합니다.

Nginx 기본 서버 블록 구성 파일 /etc/nginx/sites-available/default을 사용하여 테스트할 수 있습니다.

vi /etc/nginx/sites-available/default 

다음 섹션을 찾아 주석을 제거하여 스크린샷에 표시된 대로 PHP 스크립트를 FastCGI 서버에 전달하세요.

location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/run/php/php7.3-fpm.sock;
}

다음으로, 다음 명령을 사용하여 Nginx 구성 구조가 OK인지 테스트합니다.

nginx -t

Nginx 구성이 OK인 경우 최근 변경 사항을 적용하려면 다음과 같이 php7.3-fpmnginx 서비스를 다시 시작하세요.

systemctl restart php7.2-fpm
systemctl restart nginx

Nginx에서 PHP-FPM 처리 테스트

함께 작동하도록 PHP-FPMNginx를 구성한 후 두 서비스가 PHP 페이지를 처리하고 클라이언트에 제공할 수 있는지 테스트해야 합니다. 그렇게 하려면 다음과 같이 웹 DocumentRoot에 간단한 PHP 스크립트를 만듭니다.

echo “<?php phpinfo(); ?>”  | tee /var/www/html/info.php

마지막으로, 브라우저를 열고 다음 주소를 입력하여 phpinfo() 함수에 의해 생성된 시스템의 PHP 구성을 확인하세요.

http://SERVER_IP/info.php
OR
http://localhost/info.php

결론

이 문서에서는 Debian 10에서 LEMP 스택을 설치하고 구성하는 방법을 보여주었습니다. 질문이나 의견이 있는 경우 아래 의견 양식을 통해 알려주시기 바랍니다.