웹사이트 검색

CentOS 7에 Nginx 1.15, MariaDB 10 및 PHP 7을 설치하는 방법


이 문서에서는 LEMP 스택(Linux, Nginx, MariaDB, )을 설치하는 방법을 설명합니다. PHP)와 RHEL/CentOS 7/6Fedora 26-29 서버에서 yum 및 dnf 패키지를 사용하는 PHP-FPM 관리자.

이 과정에서 Epel, Remi, NginxMariaDB 저장소를 설치하고 활성화합니다. 이 패키지의 최신 버전을 설치하십시오.

추가 읽기: 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

페도라 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 저장소는 RHELCentOS 배포판에만 필요합니다. /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는 세계에서 가장 인기 있는 관계형 데이터베이스 관리 시스템(RDBMS) 중 하나인 MySQL의 포크입니다. 이는 완전히 커뮤니티에 의해 개발되었으므로 FOSS를 유지하고 GPL과 호환되도록 의도되었습니다.

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


----------- 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를 설치하려면 먼저 yum 저장소 및 패키지를 관리하는 데 유용한 프로그램 모음인 yum-utils를 설치하여 Remi 저장소를 활성화해야 합니다.

yum install yum-utils

설치가 완료되면 yum-utils에서 제공하는 yum-config-manager를 사용하여 표시된 대로 Remi 저장소를 다양한 PHP 버전 설치를 위한 기본 저장소로 활성화할 수 있습니다.

예를 들어 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 서비스 중지 및 비활성화

기본적으로 ApacheNginx는 동일한 포트(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 구성

이제 /srv/www/ 아래에 웹 사이트(Nginx에서 호출되는 가상 호스트 또는 서버 블록)에 대한 디렉토리 구조를 생성하겠습니다. 이 예에서는 linux-console.net을 사용하지만 원할 경우 다른 도메인과 기본 디렉터리를 자유롭게 선택해도 됩니다.

mkdir -p /srv/www/tecmint/public_html 
mkdir /srv/www/tecmint/logs 
chown -R nginx:nginx /srv/www/tecmint  

9단계: Nginx 가상 호스트 디렉터리 구성

아시다시피, 동일한 시스템에서 여러 사이트를 실행할 수 있는 능력은 주요 웹 서버의 특징 중 하나입니다. 이제 /etc/nginx 아래에 서버 블록(Apache의 가상 호스트라고 함)을 저장할 디렉터리를 생성해 보겠습니다.

mkdir /etc/nginx/sites-available 
mkdir /etc/nginx/sites-enabled 

/etc/nginx/nginx.conf에서 http 블록을 닫기 전에 삽입해야 하는 다음 코드 줄은 /etc/nginx/sites-enabled 내의 구성 파일을 확인합니다. Nginx가 실행될 때 디렉토리가 고려됩니다.

## Load virtual host conf files. ## 
include /etc/nginx/sites-enabled/*; 

linux-console.net에 대한 서버 블록을 생성하려면 /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	linux-console.net linux-console.net 

10단계: Nginx, MySQL, PHP 및 PHP-FPM 테스트

PHP를 테스트하는 고전적인 방법을 고수하겠습니다. /srv/www/tecmint/public_html/ 아래에 test.php라는 파일을 만들고 다음 코드 줄을 추가합니다.

phpinfo() 함수는 현재 PHP 설치에 대한 많은 정보를 표시합니다.

<?php 
	phpinfo(); 
?> 

이제 웹 브라우저에서 http://tecmint/test.php로 이동하여 설치된 모듈과 추가 소프트웨어가 있는지 확인하세요.

축하해요! 이제 LEMP 스택이 제대로 설치되었습니다. 예상대로 진행되지 않은 경우 아래 양식을 사용하여 언제든지 문의해 주세요. 질문이나 제안도 환영합니다.