LEMP는 고트래픽 및 동적 웹사이트를 구동하는 데 사용되는 일련의 무료 및 오픈 소스 도구로 구성된 소프트웨어 스택입니다. LEMP는 Linux, Nginx (Engine X로 발음됨), MariaDB / MySQL 및 PHP의 약어입니다.
Nginx는 오픈 소스이며 견고하고 고성능의 웹 서버로도 역할을 할 수 있습니다. MariaDB는 사용자 데이터를 저장하는 데 사용되는 데이터베이스 시스템이며, PHP는 동적 웹 페이지를 개발하고 지원하는 데 사용되는 서버 측 스크립팅 언어입니다.
관련 기사: CentOS 8에 LAMP 서버 설치하는 방법
이 기사에서는 CentOS 8 Linux 배포판에 LEMP 서버를 설치하는 방법에 대해 알아볼 것입니다.
단계 1: CentOS 8에서 소프트웨어 패키지 업데이트하기
먼저, 다음과 같은 dnf 명령어를 실행하여 CentOS 8 Linux의 저장소 및 소프트웨어 패키지를 모두 업데이트합니다.
$ sudo dnf update

단계 2: CentOS 8에 Nginx 웹 서버 설치하기
패키지 업데이트가 완료되면 간단한 명령어를 사용하여 Nginx를 설치합니다.
$ sudo dnf install nginx

코드 조각은 Nginx 설치가 어려움 없이 잘 되었음을 보여줍니다.

설치가 완료되면 부팅 시 Nginx를 시작하도록 구성하고 명령을 실행하여 Nginx가 실행 중인지 확인하십시오.
$ sudo systemctl enable nginx $ sudo systemctl start nginx $ sudo systemctl status nginx

설치된 Nginx 버전을 확인하려면 명령을 실행하십시오.
$ nginx -v

호기심이 생겨 Nginx에 대해 더 많은 정보를 찾고 싶다면 다음과 같은 rpm 명령을 실행하십시오.
$ rpm -qi nginx

브라우저를 사용하여 Nginx 서버가 실행 중인지 확인하려면 URL 표시 줄에 시스템의 IP 주소를 입력하고 ENTER를 누르십시오.
http://server-IP
“Welcome to Nginx” 웹 페이지가 표시되어야 하며 이는 Nginx 웹 서버가 정상적으로 실행 중임을 나타냅니다.

단계 3: CentOS 8에 MariaDB 설치
MariaDB는 MySQL의 무료이고 오픈 소스 분기 버전이며 최신 기능을 제공하여 MySQL의 대체로 더 나은 선택이 됩니다. MariaDB를 설치하려면 명령을 실행하십시오.
$ sudo dnf install mariadb-server mariadb

부팅 시 MariaDB가 자동으로 시작되도록 활성화하려면 실행하십시오.
$ sudo systemctl enable mariadb
MariaDB 서버를 시작하려면 명령을 실행하십시오.
$ sudo systemctl start mariadb
설치 후 상태를 확인하려면 다음 명령을 사용하십시오.
$ sudo systemctl status mariadb

MariaDB 데이터베이스 엔진은 보안이 취약하며 자격 증명 없이 누구나 로그인할 수 있습니다. 무단 액세스 가능성을 최소화하려면 명령을 실행하십시오.
$ sudo mysql_secure_installation
다음은 일련의 프롬프트입니다. 첫 번째 프롬프트는 루트 암호를 설정하도록 요구합니다. ENTER를 누르고 루트 암호를 지정하려면 Y
를 입력하십시오. 예를 선택하여 루트 암호를 지정하십시오.

암호를 설정한 후, 익명 사용자를 제거하고 테스트 데이터베이스를 제거하며 원격 루트 로그인을 비활성화하기 위해 나머지 질문에 답하십시오.

모든 단계를 완료한 후 MariaDB 서버에 로그인하여 MariaDB 서버 버전 정보를 확인할 수 있습니다 (서버를 보호할 때 지정한 암호를 제공하십시오).
$ mysql -u root -p

단계 4: CentOS 8에 PHP 7 설치
마지막으로, 우리는 LEMP 스택의 마지막 구성 요소인 PHP를 설치할 것입니다. 이는 동적 웹 페이지 개발에 일반적으로 사용되는 스크립팅 웹 프로그래밍 언어입니다.
이 가이드를 작성하는 시점에서 최신 버전은 PHP 7.4입니다. 우리는 이를 Remi 저장소를 사용하여 설치할 것입니다. Remi 저장소는 CentOS에 기본적으로 제공되지 않는 최신 소프트웨어 버전을 제공하는 무료 저장소입니다.
아래 명령을 실행하여 EPEL 저장소를 설치하십시오.
$ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
그런 다음, 아래 명령을 사용하여 yum-utils를 설치하고 remi 저장소를 활성화하십시오.
$ sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
다음으로 설치할 수 있는 사용 가능한 PHP 모듈을 검색하십시오.
$ sudo dnf module list php
아래 출력에서는 사용 가능한 PHP 모듈, 스트림 및 설치 프로필을 확인할 수 있습니다. 현재 설치된 버전은 대괄호로 둘러싸인 d
문자로 표시되는 PHP 7.2입니다.

또한 출력에서 가장 최신의 PHP 모듈은 설치할 것인 PHP 7.4임을 확인할 수 있습니다. 하지만 먼저 PHP 모듈을 재설정해야 합니다. 따라서 다음 명령을 실행하십시오.
$ sudo dnf module reset php

다음으로, 다음 명령을 실행하여 PHP 7.4 모듈을 활성화합니다.
$ sudo dnf module enable php:remi-7.4

PHP 7.4 모듈이 활성화된 상태에서, 마지막으로 PHP, PHP-FPM (FastCGI 프로세스 관리자) 및 관련 PHP 모듈을 다음 명령을 사용하여 설치합니다.
$ sudo dnf install php php-opcache php-gd php-curl php-mysqlnd
이제 설치된 버전을 확인하십시오.
$ php -v

다음으로, php-fpm을 활성화하고 시작하십시오.
$ sudo systemctl enable php-fpm $ sudo systemctl start php-fpm
상태를 확인하려면 다음 명령을 실행하십시오.
$ sudo systemctl status php-fpm

또 다른 사항은 기본적으로 PHP-FPM이 Apache 사용자로 구성되어 있다는 것입니다. 그러나 Nginx 웹 서버를 실행 중이므로 이를 Nginx 사용자로 변경해야 합니다.
따라서 파일 /etc/php-fpm.d/www.conf을 엽니다.
$ vi /etc/php-fpm.d/www.conf
이 두 줄을 찾습니다.
user = apache group = apache
이제 두 값을 모두 Nginx로 변경합니다.
user = nginx group = nginx

구성 파일을 저장하고 나가십시오.
그런 다음 변경 사항이 적용되도록 Nginx 및 PHP-FPM을 다시 시작하십시오.
$ sudo systemctl restart nginx $ sudo systemctl restart php-fpm
단계 5: PHP 정보 테스트
기본적으로 Nginx의 웹 디렉토리 폴더는 /usr/share/nginx/html/ 경로에 있습니다. PHP-FPM을 테스트하기 위해 info.php라는 PHP 파일을 만들고 아래의 줄을 붙여넣습니다.
<?php phpinfo(); ?>
파일을 저장하고 나옵니다.
브라우저를 실행하고 URL 창에 웹 서버의 IP 주소를 입력합니다.
http://server-ip-address/info.php

모든 것이 잘 되었다면 PHP 버전 및 기타 메트릭이 표시됩니다.
그게 다입니다! 여러분은 LEMP 서버 스택을 CentOS 8에 성공적으로 설치했습니다. 보안을 위해 info.php 파일을 제거하여 Nginx 서버에서 정보를 얻지 못하게 할 수 있습니다.