웹사이트 검색

Debian 7에 Linux, Nginx, MySQL, PHP(LEMP) 스택을 설치하는 방법


Lemp Stack: 기본 정보

LEMP 스택은 VPS를 실행하기 위한 오픈 소스 소프트웨어 그룹입니다. 약어에는 보다 전통적인 LAMP 스택의 Linux(L), MySQL(M) 및 PHP(P)가 포함되지만 Nginx(엔진 x로 발음)용 Apache는 제외됩니다.

이 튜토리얼에서는 nginx/MySQL/PHP-fpm을 설치하는 방법과 nginx 및 php-fpm을 다운로드하는 데 필요한 모든 저장소를 설명합니다. 또한 php 및 nginx를 구성하는 방법과 php 정보 페이지를 만드는 방법을 검토합니다.

1) Apt-Get 업데이트

apt-get update 명령은 소스에서 패키지 인덱스 파일을 다시 동기화하는 데 사용됩니다. apt-get upgrade 명령과 함께 사용하면 현재 사용 가능한 모든 패키지의 최신 버전을 설치합니다.

지금은 전체 업데이트만 수행하면 됩니다.

sudo apt-get update

2) VPS에 MySQL 설치

MySQL은 데이터 구성 및 검색에 사용되는 강력한 데이터베이스 관리 시스템입니다.

MySQL을 설치하려면 터미널을 열고 다음 명령을 입력하십시오.

sudo apt-get install mysql-server

설치하는 동안 MySQL은 루트 암호를 설정하도록 요청합니다. 프로그램을 설치하는 동안 암호를 설정할 기회를 놓친 경우 나중에 MySQL 셸 내에서 암호를 설정하는 것은 매우 쉽습니다.

MySQL을 설치했으면 다음 명령으로 활성화해야 합니다.

sudo mysql_install_db

MySQL 설정 스크립트를 실행하여 완료합니다.

sudo /usr/bin/mysql_secure_installation

프롬프트에서 현재 루트 비밀번호를 묻습니다. 입력하십시오.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

프롬프트에서 루트 비밀번호를 변경할 것인지 묻습니다. 계속해서 이 옵션에 대해 N을 선택하십시오. 루트 암호가 이미 설정되어 있어야 합니다. 그러나 나머지 질문에 대해서는 다른 이유가 없는 한 모두 Y로 응답할 수 있습니다.

이제 nginx를 설치하자!

3) VPS에 Nginx 설치 및 구성

설치

초기 설치는 apt-get 명령으로 간단합니다.

sudo apt-get install nginx

nginx 실행을 시작하려면 명령이 필요합니다.

sudo service nginx start

이제 브라우저에서 IP 주소를 가리키면 nginx가 클라우드 서버에 성공적으로 설치되었는지 확인해야 합니다.

*다음 명령을 실행하여 VPS의 IP 주소를 확인하십시오.

ifconfig eth0 | grep inet | awk '{ print $2 }'

구성

다음 명령을 사용하여 기본 가상 호스트 파일을 엽니다.

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

구성에는 아래 변경 사항이 포함되어야 합니다(변경 세부 정보는 구성 정보 아래에 있음).

업데이트: 최신 Ubuntu 버전은 기본적으로 www 대신 html이라는 디렉토리를 생성합니다. /usr/share/nginx/www가 존재하지 않으면 아마도 html이라고 불릴 것입니다. 구성을 적절하게 업데이트했는지 확인하십시오.

 [...]
server {
        listen   80;
     

        root /usr/share/nginx/www;
        index index.php index.html index.htm;

        server_name example.com;

        location / {
                try_files $uri $uri/ /index.html;
        }

        error_page 404 /404.html;

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
              root /usr/share/nginx/www;
        }

        # pass the PHP scripts to FastCGI server listening on /var/run/php5-fpm.sock
        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
                
        }

}
[...]

변경 내용은 다음과 같습니다.

  • 인덱스 라인에 index.php를 추가합니다.
  • server_name을 로컬 호스트에서 도메인 이름 또는 IP 주소로 변경(구성에서 example.com 대체)
  • "location ~ \\.php${" 섹션에서 올바른 행을 변경합니다.

저장 및 종료

4) PHP 설치 및 구성

설치

당신은 아마 그것을 추측! apt-get 명령을 사용하여 PHP-FPM을 설치합니다.

sudo apt-get install php5-fpm php5-mysql

구성

php 구성에서 한 가지 작은 변경을 수행해야 합니다. php.ini를 엽니다.

 sudo nano /etc/php5/fpm/php.ini

cgi.fix_pathinfo=1 줄을 찾아 1을 0으로 변경합니다.

cgi.fix_pathinfo=0

이 숫자가 1로 유지되면 php 인터프리터는 요청한 파일에 최대한 가까운 파일을 처리하기 위해 최선을 다할 것입니다. 이것은 가능한 보안 위험입니다. 반대로 이 숫자를 0으로 설정하면 인터프리터는 정확한 파일 경로만 처리하므로 훨씬 안전한 대안이 됩니다.

저장 및 종료.

php5-fpm 구성에서 또 다른 작은 변경이 필요합니다. www.conf를 엽니다.

 sudo nano /etc/php5/fpm/pool.d/www.conf

줄을 찾아서 listen = 127.0.0.1:9000을 찾은 다음 127.0.0.1:9000을 /var/run/php5-fpm.sock으로 변경합니다.

listen = /var/run/php5-fpm.sock

저장 및 종료.

php-fpm을 다시 시작하십시오.

sudo service php5-fpm restart

5) PHP 정보 페이지 생성

새로운 php 구성의 모든 세부 사항을 빠르게 볼 수 있습니다.

이를 설정하려면 먼저 새 파일을 만듭니다.

sudo nano /usr/share/nginx/www/info.php

다음 줄을 추가합니다.

<?php
phpinfo();
?>

그런 다음 저장하고 종료하십시오.

마무리

nginx를 다시 시작합니다.

sudo service nginx restart

http://youripaddress/info.php를 방문하여 nginx 및 php-fpm 구성 세부 정보를 볼 수 있습니다.

이제 가상 사설 서버에서 LEMP 스택이 설정 및 구성되었습니다. :)