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 스택이 설정 및 구성되었습니다. :)