웹사이트 검색

CentOS 8에 LEMP 서버를 설치하는 방법


LEMP는 트래픽이 많고 동적 웹사이트를 지원하는 데 사용되는 무료 오픈 소스 도구 세트로 구성된 소프트웨어 스택입니다. LEMPLinux, 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

Nginx 웹 서버가 실행 중임을 나타내는 "Welcome to Nginx" 웹 페이지를 볼 수 있어야 합니다.

3단계: CentOS 8에 MariaDB 설치

MariaDBMySQL의 무료 오픈 소스 포크이며 MySQL을 더 효과적으로 대체할 수 있는 최신 기능을 제공합니다. MariaDB를 설치하려면 명령을 실행하세요.

sudo dnf install mariadb-server mariadb

MariaDB가 부팅 시 자동으로 시작되도록 하려면 다음을 실행하세요.

sudo systemctl enable mariadb

MariaDB 서버를 시작하려면 명령을 실행하세요.

sudo systemctl start mariadb

설치 후 아래 명령어를 사용하여 상태를 확인해보세요.

sudo systemctl status mariadb

MariaDB 데이터베이스 엔진은 안전하지 않으며 누구나 자격 증명 없이 로그인할 수 있습니다. MariaDB를 강화하고 무단 액세스 가능성을 최소화하도록 보호하려면 명령을 실행하세요.

sudo mysql_secure_installation

다음은 일련의 프롬프트입니다. 첫 번째는 루트 비밀번호를 설정해야 합니다. ENTER를 누르고 에 대해 Y를 입력하여 루트 비밀번호를 지정합니다.

비밀번호를 설정한 후 나머지 질문에 답하여 익명 사용자를 제거하고, 테스트 데이터베이스를 제거하고, 원격 루트 로그인을 비활성화합니다.

모든 단계를 완료하면 MariaDB 서버에 로그인하여 MariaDB 서버 버전 정보를 확인할 수 있습니다(서버 보안 시 지정한 비밀번호 제공).

mysql -u root -p

4단계: CentOS 8에 PHP 7 설치

마지막으로 동적 웹 페이지 개발에 일반적으로 사용되는 스크립팅 웹 프로그래밍 언어인 PHP인 마지막 구성 요소인 LEMP 스택을 설치하겠습니다.

이 가이드를 작성하는 시점의 최신 버전은 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-repository를 활성화합니다.

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-FPMApache 사용자로 실행되도록 구성되어 있다는 것입니다. 하지만 우리는 Nginx 웹 서버를 실행하고 있으므로 이를 Nginx 사용자로 변경해야 합니다.

따라서 /etc/php-fpm.d/www.conf 파일을 엽니다.

vi /etc/php-fpm.d/www.conf

이 두 줄을 찾으세요.

user = apache
group = apache

이제 두 값을 모두 Nginx로 변경합니다.

user = nginx
group = nginx

구성 파일을 저장하고 종료합니다.

그런 다음 NginxPHP-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 버전에 대한 정보와 기타 측정항목이 표시됩니다.

그게 다입니다, 여러분! CentOS 8LEMP 서버 스택을 성공적으로 설치했습니다. 보안 예방 조치로 해커가 Nginx 서버에서 정보를 얻는 것을 방지하기 위해 info.php 파일을 제거할 수 있습니다.