이 기사에서는 LEMP 스택(Linux, Nginx, MariaDB, PHP) 및 PHP-FPM을 RHEL/CentOS 7/6 및 Fedora 26-29 서버에 yum 및 dnf 패키지 관리자를 사용하여 설치하는 방법을 설명합니다.
이 과정에서는 이러한 패키지의 최신 버전을 설치할 수 있도록 Epel, Remi, Nginx 및 MariaDB 저장소를 설치하고 활성화합니다.
Read Also: CentOS 7에 Apache, MySQL 8 또는 MariaDB 10 및 PHP 7 설치
단계 1: EPEL 및 Remi 저장소 설치
EPEL(Enterprise Linux용 추가 패키지)는 RHEL 기반 Linux 배포판을 위한 추가 소프트웨어 패키지를 제공하는 커뮤니티 기반 저장소입니다.
Remi는 Fedora 및 Enterprise Linux 배포판에 설치할 수 있는 최신 버전의 PHP 스택(전체 기능)을 찾을 수 있는 저장소입니다.
RHEL/CentOS 7에서
# yum update && yum install epel-release # rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm ------ For RHEL 7 Only ------ # subscription-manager repos --enable=rhel-7-server-optional-rpms
RHEL/CentOS 6에서
# yum update && yum install epel-release # rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm ------ For RHEL 6 Only ------ # subscription-manager repos --enable=rhel-6-server-optional-rpms
Fedora 24-29에서
# rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-29.rpm [On Fedora 29] # rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-28.rpm [On Fedora 28] # rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-27.rpm [On Fedora 27] # rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-26.rpm [On Fedora 26] # rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-25.rpm [On Fedora 25] # rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-24.rpm [On Fedora 24]
단계 2: Nginx 및 MariaDB 저장소 설치
Nginx 저장소는 RHEL 및 CentOS 배포판에서만 필요합니다. /etc/yum.repos.d/nginx.repo라는 파일을 만들고 다음 라인을 추가하십시오.
RHEL 7/6용:
[nginx] name=nginx repo baseurl=http://nginx.org/packages/rhel/$releasever/$basearch/ gpgcheck=0 enabled=1
CentOS 7/6용:
[nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=0 enabled=1
MariaDB 저장소를 활성화하려면 다음 내용으로 /etc/yum.repos.d/mariadb.repo라는 파일을 만드십시오.
[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.1/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
단계 4: Ngnix 및 MariaDB 설치
Nginx (Engine X)는 오픈 소스이며 강력하고 가벼우며 고성능 웹 서버, 리버스 프록시 서버이자 HTTP, SMTP, POP3 및 IMAP 프로토콜용 메일 프록시 서버입니다. 자세한 내용은 http://wiki.nginx.org/Overview를 방문하십시오.
MariaDB는 잘 알려진 MySQL의 포크로, 세계에서 가장 인기 있는 관계형 데이터베이스 관리 시스템(RDBMS) 중 하나입니다. 이는 완전히 커뮤니티에 의해 개발되었으며 따라서 FOSS로 유지되고 GPL과 호환될 예정입니다.
Ngnix와 MariaDB를 설치하려면 다음 명령을 실행하십시오.
----------- Installing on RHEL/CentOS 7/6 ----------- # yum --enablerepo=remi install nginx MariaDB-client MariaDB-server php php-common php-fpm ----------- Installing on Fedora ----------- # dnf --enablerepo=remi install nginx MariaDB-client MariaDB-server php php-common php-fpm
단계 3: Remi 저장소를 사용하여 PHP 설치
PHP (하이퍼텍스트 프리프로세서)는 웹 개발에 가장 적합한 무료이자 오픈 소스 서버 측 스크립팅 언어입니다. 이것은 웹 사이트를 위한 동적 웹 페이지를 생성하는 데 사용될 수 있으며, 주로 *nix 서버에서 찾을 수 있습니다. PHP의 장점 중 하나는 다양한 모듈을 사용하여 쉽게 확장할 수 있다는 것입니다.
PHP를 설치하려면 먼저 Remi 저장소를 활성화해야 합니다. 이를 위해 yum-utils
를 설치하십시오. 이는 yum 저장소와 패키지를 관리하는 유용한 프로그램 모음입니다.
# yum install yum-utils
설치한 후, yum-utils
에서 제공하는 yum-config-manager를 사용하여 다양한 PHP 버전을 설치하는 데 기본 저장소로 Remi 저장소를 활성화할 수 있습니다. 다음과 같이 표시됩니다.
예를 들어, PHP 7.x 버전을 설치하려면 다음 명령을 사용하십시오.
------------- On CentOS & RHEL ------------- # yum-config-manager --enable remi-php70 && yum install php [Install PHP 7.0] # yum-config-manager --enable remi-php71 && yum install php [Install PHP 7.1] # yum-config-manager --enable remi-php72 && yum install php [Install PHP 7.2] # yum-config-manager --enable remi-php73 && yum install php [Install PHP 7.3] ------------- On Fedora ------------- # dnf --enablerepo=remi install php70 [Install PHP 7.0] # dnf --enablerepo=remi install php71 [Install PHP 7.1] # dnf --enablerepo=remi install php72 [Install PHP 7.2] # dnf --enablerepo=remi install php73 [Install PHP 7.3]
다음으로, 다음과 같은 PHP 모듈을 모두 설치할 것입니다.
------ On RHEL/CentOS 7/6 ------ # yum --enablerepo=remi install php-mysqlnd php-pgsql php-fpm php-pecl-mongo php-pdo php-pecl-memcache php-pecl-memcached php-gd php-xml php-mbstring php-mcrypt php-pecl-apcu php-cli php-pear ------ On Fedora ------ # dnf --enablerepo=remi install php-mysqlnd php-pgsql php-fpm php-pecl-mongo php-pdo php-pecl-memcache php-pecl-memcached php-gd php-xml php-mbstring php-mcrypt php-pecl-apcu php-cli php-pear
단계 6: Apache 서비스 중지 및 비활성화
기본적으로, Apache와 Nginx는 동일한 포트 (TCP 80)에서 수신 대기합니다. 따라서 서버에 Apache가 설치된 경우, Nginx를 사용하려면 Apache를 중지하고 비활성화/마스킹해야 합니다(서비스를 /dev/null에 연결하는 비활성화의 강화된 버전). 또는 더 이상 사용하지 않는 경우 제거할 수 있습니다.
# systemctl stop httpd # systemctl disable httpd or # systemctl mask httpd
단계 7: Nginx, MariaDB 및 PHP-FPM 시작/중지
----------- Enable Nginx, MariaDB and PHP-FPM on Boot ----------- # systemctl enable nginx # systemctl enable mariadb # systemctl enable php-fpm ----------- Start Nginx, MariaDB and PHP-FPM ----------- # systemctl start nginx # systemctl start mariadb # systemctl start php-fpm
단계 8: Nginx 및 PHP-FPM 구성
이제 웹 사이트(가상 호스트 또는 Nginx에서는 서버 블록이라고 함)의 디렉토리 구조를 만들어 보겠습니다. /srv/www/ 아래에. 이 예제에서는 www.tecmint.com
을 사용할 것이지만, 원하는 경우 다른 도메인과 주 디렉토리를 선택해도 괜찮습니다.
# mkdir -p /srv/www/tecmint/public_html # mkdir /srv/www/tecmint/logs # chown -R nginx:nginx /srv/www/tecmint
단계 9: Nginx 가상 호스트 디렉토리 구성
여러 사이트를 동일한 기계에서 실행할 수 있는 능력은 주요 웹 서버의 특징 중 하나입니다. 이제 서버 블록을 만들기 위해 /etc/nginx 아래에 서버 블록을 저장할 디렉토리를 만들어 보겠습니다(아파치에서는 가상 호스트로 알려져 있음).
# mkdir /etc/nginx/sites-available # mkdir /etc/nginx/sites-enabled
다음 코드 라인은 /etc/nginx/nginx.conf에서 http 블록을 닫기 전에 삽입되어야 합니다. 이 코드 라인은 Nginx가 실행 중일 때 /etc/nginx/sites-enabled 디렉토리 내의 구성 파일이 고려될 수 있도록 보장합니다:
## Load virtual host conf files. ## include /etc/nginx/sites-enabled/*;

tecmint.com
을 위한 서버 블록을 만들려면 다음 코드 라인을 /etc/nginx/sites-available/tecmint에 추가하십시오(이 파일은 원하는 텍스트 편집기를 시작하기 위해 전체 경로를 입력할 때 만들어집니다). 이것은 기본 가상 호스트 구성 파일입니다.
server { listen 80 default; server_name tecmint; access_log /srv/www/tecmint/logs/access.log; error_log /srv/www/tecmint/logs/error.log; root /srv/www/tecmint/public_html; location ~* \.php$ { fastcgi_index index.php; fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; } }
가상 호스트를 “활성화”하는 프로세스는 tecmint
가상 호스트의 정의에서 /etc/nginx/sites-enabled로 심볼릭 링크를 만드는 것으로 구성됩니다.
# ln -s /etc/nginx/sites-available/tecmint /etc/nginx/sites-enabled/tecmint
우리가 한 변경 사항을 실제로 적용하려면 이제 Nginx를 다시 시작해야 합니다. 때로는 그 전에 구성 파일을 구문 오류를 확인하는 것이 유용할 수 있습니다:
# nginx -t # systemctl restart nginx # systemctl status nginx

새로 생성한 가상 호스트에 액세스하려면 도메인 이름 해결의 기본 방법으로 다음 줄을 /etc/hosts에 추가해야 합니다.
192.168.0.18 www.tecmint.com tecmint.com
단계 10: Nginx, MySQL, PHP 및 PHP-FPM 테스트
PHP를 테스트하는 전통적인 방법을 따라봅시다. test.php
라는 파일을 /srv/www/tecmint/public_html/에 만들고 다음 코드를 추가하세요.
phpinfo()
함수는 현재 PHP 설치에 대한 많은 정보를 보여줍니다.
<?php phpinfo(); ?>
이제 웹 브라우저를 http://tecmint/test.php
로 이동하여 설치된 모듈 및 추가 소프트웨어의 존재 여부를 확인하세요.
축하합니다! 이제 LEMP 스택의 작동 설치가 완료되었습니다. 예상대로 작동하지 않는 경우 아래 양식을 사용하여 문의해 주세요. 질문과 제안을 환영합니다.
Source:
https://www.tecmint.com/install-nginx-mariadb-php-rhel-centos-fedora/