Ubuntu 18.04 LTS에 LEMP (Nginx, MariaDB 및 PHP) 스택을 설치하는 방법은 무엇입니까?

소개

LEMP Stack은 동적 웹 응용 프로그램 및 페이지를 개발 및 배포하는 데 사용되는 강력한 응용 프로그램 모음입니다. 전통적으로 LEMP 스택은 Nginx, MySQL 및 PHP로 구성됩니다. 그러나이 스택의 모듈 식 아키텍처로 인해 이러한 구성 요소를 교체하고 동일한 기능을 가진 다른 구성 요소로 교체 할 수 있습니다.


이 튜토리얼은 Ubuntu 18.04 서버에 LEMP (Nginx, MariaDB 및 PHP)를 설치하는 데 도움이됩니다..

Ubuntu 18.04가 설치된 VPS 호스팅 또는 전용 서버 웹 호스팅이있는 경우 시작하겠습니다.!

1 단계-Nginx 설치

LEMP Stack을 설치하는 첫 단계는 Nginx 웹 서버를 설치하는 것입니다.

$ 스도 앱 업데이트
$ sudo apt 설치 nginx

설치가 완료되면 아래 명령을 실행하여 Nginx를 시작하십시오.

$ sudo systemctl start nginx

그런 다음 방금 설치 한 웹 서버의 상태를 확인하십시오.

$ sudo systemctl 상태 nginx

이것은 당신에게 아래 출력을 줄 것입니다 :

● nginx.service-고성능 웹 서버 및 리버스 프록시 서버
로드 됨 :로드 됨 (/lib/systemd/system/nginx.service; 사용; 공급 업체 사전 설정 : 사용)
활성 : 월요일 2018-10-29 07:58:38 EDT 이후 활성 (실행 중); 57 초 전
문서 : man : nginx (8)
프로세스 : 1836 ExecStart = / usr / sbin / nginx -g 데몬; master_process on; (코드 = 종료, 상태 = 0 / 성공)
프로세스 : 1823 ExecStartPre = / usr / sbin / nginx -t -q -g 데몬; master_process on; (코드 = 종료, 상태 = 0 / 성공)
주요 PID : 1839 (nginx)
작업 : 2 (제한 : 2322)
C 그룹 : /system.slice/nginx.service
gin─1839 nginx : 마스터 프로세스 / usr / sbin / nginx -g 데몬; master_process on;
└─1841 nginx : 작업자 프로세스

방화벽 조정

Ubuntu 서버에서 UFW 방화벽이 활성화 된 경우 Nginx 웹 서버를 허용하도록 방화벽을 조정해야합니다. UFW를 통해 원하는 트래픽을 활성화하려면 가장 금지적인 프로필을 활성화해야합니다.

먼저, 아래 명령을 실행하여 서버에 프로파일이 배포 된 앱을 확인하십시오.

$ sudo ufw 앱 목록

다음과 같은 결과가 나타납니다.

사용 가능한 응용 프로그램
아파치
아파치 풀
아파치 시큐어
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH

위 출력에서 ​​명확한 OpenSSH와 Nginx는 Ubuntu 시스템에 UFW 프로파일을 배포했습니다. HTTP와 HTTP 트래픽을 모두 활성화하려면 아래 명령을 실행하십시오.

$ sudo ufw 허용"Nginx Full"

UFW 상태를 확인하십시오.

상태 : 활성

조치 보낸 사람
—                         ——      —-
OpenSSH ALLOW 어디서나
Nginx HTTP ALLOW 어디서나
OpenSSH (v6) ALLOW 어디서나 (v6)
Nginx HTTP (v6) ALLOW 아무 데나 (v6)

그게 다야! 이제 Nginx 서버 테스트 페이지를 실행할 수 있습니다. 즐겨 찾는 브라우저로 이동하여 http : // IP-Address / 또는 http : // localhost /를 검색하십시오.

모든 것이 정상이면 다음 페이지가 표시됩니다.

Ubuntu 18.04에서 LEMP 스택으로 Nginx를 설치하는 방법

2 단계-MariaDB 설치

웹 서버를 설치하면 다음 단계는 데이터베이스 서버를 설치하는 것입니다. 앞서 언급 한 것처럼 MySQL 데이터베이스를 가장 잘 대체하는 MariaDB 서버를 설치합니다..

공식 Ubuntu 리포지토리에서 MariaDB 데이터베이스 서버를 설치하려면 아래 명령을 실행하십시오.

$ sudo apt install mariadb-server mariadb-client

그러나이 리포지토리에서 찾은 MariaDB가 최신 버전이 아닐 수 있습니다. 이러한 이유로 최신 MariaDB 데이터베이스 서버를 설치하려면 공식 MariaDB 저장소에서 설치해야합니다..

이렇게하려면 먼저 아래 명령을 실행하여 저장소를 추가 한 다음 설치 키를 가져 오십시오.

$ sudo apt-get 소프트웨어 속성 공통 설치
$ sudo apt-key adv –recv-keys –keyserver hkp : //keyserver.ubuntu.com : 80 0xF1656F24C74CD1D8
$ sudo add-apt-repository ‘deb [arch = amd64, arm64, ppc64el] http://sgp1.mirrors.digitalocean.com/mariadb/repo/10.3/ubuntu bionic main’

그런 다음 아래 명령을 실행하여 저장소를 승인하도록 패키지 색인을 업데이트 한 다음 데이터베이스 서버를 설치하십시오. MariaDB :

$ 스도 아파트 업데이트
$ sudo apt 설치 mariadb 서버

이제 아래 명령을 실행하여 설치 한 MariaDB 버전을 확인할 수 있습니다.

$ sudo systemctl status mysql

그러면 아래와 비슷한 결과가 나타납니다.

● mariadb.service-MariaDB 10.3.10 데이터베이스 서버
로드 :로드 (/lib/systemd/system/mariadb.service; 사용; 공급 업체 사전 설정 : preset 사용)
활동 : 수 활동 이후 (활동 중) 2018-10-2405 : 39 : 11 EDT; 2 분 57 초 전
문서 : man : mysql (8)
https://mariadb.com/kb/en/library/systemd/
주요 PID : 3428 (mysqld)
상태:"지금 SQL 요청 받기…"
작업 : 32 (한도 : 1152)
C 그룹 : /system.slice/mariadb.service
└─994 / usr / sbin / mysqld

MariaDB 보안

MariaDB를 보호하려면 아래 명령을 실행하십시오.

$ mysql_secure_installation

root의 현재 비밀번호를 입력하라는 메시지가 표시됩니다. MariaDB를 방금 설치 했으므로 Enter 키를 눌러 계속하십시오. 다음과 같은 질문에 대한 여러 프롬프트가 표시됩니다.

루트 비밀번호를 설정 하시겠습니까? [Y / n] Y를 입력하고 ENTER를 누르십시오. 원하는 비밀번호를 입력하고 다시 입력 한 후 Enter 키를 눌러 구현하십시오..
익명의 사용자를 삭제 하시겠습니까? [Y / n] Y
원격으로 루트 로그인을 허용하지 않습니까? [Y / n] Y
테스트 데이터베이스를 제거하고 액세스하려면? [Y / n] Y
지금 권한 테이블을 다시로드 하시겠습니까? [Y / n] Y

모든 질문에 대답하면 MariaDB 설치가 안전합니다..

3 단계-PHP 설치

PHP를 배포하려면 아래 명령을 실행하십시오.

$ sudo apt-get 설치 PHP-FPM PHP-MySQL

PHP가 설치되면 다음 단계는 PHP를 보호하는 것입니다. 이것은 편집하여 수행 할 수 있습니다 php.ini 파일. 먼저 아래 명령을 실행하여이 파일을여십시오.

$ sudo nano /etc/php/7.2/fpm/php.ini

이 줄을 찾으십시오 ; cgi.fix_pathinfo = 1 1을 0으로 바꿉니다.

cgi.fix_pathinfo = 0

변경 사항을 저장하고 nano 편집기를 종료 한 다음 아래 명령을 실행하여 PHP-FPM을 다시 시작하십시오.

$ sudo systemctl 다시 시작 php7.2-fpm

그런 다음 아래 명령을 실행하여 PHP-FPM 서비스의 상태를 확인하십시오.

$ sudo systemctl 상태 php7.2-fpm

그러면 아래와 비슷한 결과가 나타납니다.

● php7.2-fpm.service-PHP 7.2 FastCGI 프로세스 관리자
로드 :로드 (/lib/systemd/system/php7.2-fpm.service; 사용; 공급 업체 사전 설정 : 사용)
활성 : 2018-10-2908 : 12 : 46 EDT 이후 활성 (실행 중); 7 초 전
문서 : man : php-fpm7.2 (8)
주요 PID : 29535 (php-fpm7.2)
상태:"프로세스 활성 : 0, 유휴 : 2, 요청 : 0, 느림 : 0, 트래픽 : 0req / se "
작업 : 3 (한계 : 1152)
CGroup : /system.slice/php7.2-fpm.service
…………

PHP-FPM을 사용하도록 Nginx 구성

먼저 아래 명령을 실행하여 Nginx 가상 호스트 파일을 엽니 다.

$ sudo nano / etc / nginx / sites-available / default

서버 부분을 찾아 Ubuntu 18.04 서버의 IP 주소 또는 FQDN을 추가하십시오. index.php 라인이 추가됩니다 :

[…]
서버 {
들어 80 default_server;
들어라 [::] : 80 default_server;

[…]

루트 / var / www / html;

# PHP를 사용하는 경우 index.php를 목록에 추가하십시오
인덱스 index.php index.html index.htm index.nginx-debian.html;

server_name 192.168.225.22;
[…]

다음으로 #location ~ .php $ 섹션을 강조 표시하고 아래 강조 표시된대로 선을 조정하십시오.

위치 ~ .php $ {
스 니펫 /fastcgi-php.conf 포함;
#
## php-fpm (또는 다른 유닉스 소켓) :
fastcgi_pass 유닉스 : /run/php/php7.2-fpm.sock;
## php-cgi (또는 다른 tcp 소켓) :
# fastcgi_pass 127.0.0.1:9000;
}
# Apache의 문서 루트 인 경우 .htaccess 파일에 대한 액세스 거부
#는 nginx와 일치합니다
#
위치 ~ /.ht {
모두 거부;
}
}

변경 사항을 저장하고 nano 편집기를 종료하십시오..

이제 아래 명령을 실행하여 디렉토리에서 호스팅되는 파일을 확인하십시오. / run / php:

$ ls / run / php /

이것은 당신에게 아래 출력을 줄 것입니다 :

php7.2-fpm.pidphp7.2-fpm.sock

해당 디렉토리에 저장된 파일은 php7.2-fpm.pid php7.2-fpm.sock 그리고 아닙니다 php7.0-fpm.sock ~ .php $ 섹션에 나열된대로. 항상 이상적인 이름이 위치 ~ .php $ 지시어.

그런 다음 아래 명령을 실행하여 구문 오류가 있는지 Nginx의 구성 파일을 조사하십시오.

$ 스도 nginx -t

모든 것이 괜찮다면 아래 출력을 얻습니다.

nginx : 설정 파일 /etc/nginx/nginx.confsyntaxis
nginx : 구성 파일 /etc/nginx/nginx.conf test에 성공했습니다

이제 Nginx 서비스를 다시 시작하십시오 :

$ sudo systemctl restart nginx

웹 브라우저를 통해 PHP 구성을 테스트하려면 먼저 아래 명령을 실행하여 info.php 문서 루트 폴더의 파일.

$ sudo nano /var/www/html/info.php

그런 다음 아래 내용을이 파일에 추가하십시오.

<?PHP
phpinfo ();
?>

변경 사항을 저장하고 nano 편집기를 종료 한 후 Nginx를 다시 시작하여 변경 사항을 구현하십시오..

이제 좋아하는 브라우저로 이동하여 http : //IP-address/info.php를 검색하십시오. PHP가 올바르게 실행되면 다음과 같은 결과가 나타납니다.

Ubuntu 18.04에서 LEMP 스택으로 Nginx를 설치하는 방법

PHP 모듈 설치

이제 완벽하게 작동하는 PHP 서비스가 있으므로 더 많은 PHP 모듈을 설치하여 기능을 확장하십시오. 설치할 PHP 모듈을 잘 모르는 경우 아래 명령을 실행하여 사용 가능한 모듈을보십시오.

$ sudo apt-cachesearch php- | 적게

Ubuntu 18.04 서버에 설치할 수있는 모든 PHP 모듈의 출력이 제공됩니다. 위아래로 스크롤하여 설치하려는 모듈을 정확하게 지정하십시오. PHP 모듈을 설치하는 데 사용되는 명령은 다음 형식을 따릅니다.

$ sudo apt-get install "모듈 이름"

예를 들어 설치 PHP-GD, 다음 명령을 실행하십시오 :

$ sudo apt-get 설치 PHP-GD

반면, 사용 가능한 모든 PHP 모듈을 설치하려면 다음 명령을 실행하십시오.

$ sudo apt-get 설치 PHP *

PHP 모듈에 대한 자세한 내용을 보려면 다음 명령을 실행하십시오.

$ sudo apt-cache show "모듈 이름"

추가 PHP 모듈을 설치 한 후 아래 명령을 실행하여 Nginx 서버를 다시 시작하십시오.

$ sudo systemctl restart nginx

결론

그게 다야! Ubuntu 18.04 서버에 LEMP Stack을 설치했습니다. 새로 설치된 LEMP 웹 스택을 사용하여 웹 응용 프로그램 및 웹 페이지를 구현할 수 있습니다..

이 3 가지 Linux 호스팅 서비스를 확인하십시오.

FastComet

시작 가격 :
$ 2.95


신뢰할 수 있음
9.7


가격
9.5


사용자 친화적
9.7


지원하다
9.7


풍모
9.6

리뷰 읽기

FastComet 방문

주인공

시작 가격 :
$ 0.99


신뢰할 수 있음
9.3


가격
9.3


사용자 친화적
9.4


지원하다
9.4


풍모
9.2

리뷰 읽기

Hostinger 방문

ChemiCloud

시작 가격 :
$ 2.76


신뢰할 수 있음
10


가격
9.9


사용자 친화적
9.9


지원하다
10


풍모
9.9

리뷰 읽기

ChemiCloud 방문

관련 사용법 기사

  • 우분투 18.04에 PHP7.2를 설치하는 방법
    중급
  • Apache, MariaDB 및 PHP 7을 사용하여 Ubuntu 18.04 서버 또는 VPS에 OpenCart를 설치하는 방법
    중급
  • CentOS 7 Linux VPS에 Selfoss를 설치하는 방법
    중급
  • Ubuntu 18.04에서 Apache, MariaDB 및 PHP (LAMP 스택)를 설치하는 방법
    중급
  • Ubuntu 18.04 VPS 또는 전용 서버에 LEMP (Linux, Nginx, MySQL, PHP) 스택을 설치하는 방법
    중급
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me