웹사이트 검색

Debian/Ubuntu에서 MariaDB를 사용하여 고성능 HHVM 및 Nginx/Apache 설정


HHVMHipHop Virtual Machine을 의미하며 Hack(HHVM용 프로그래밍 언어) 및 실행을 위해 만들어진 오픈 소스 가상 머신입니다. PHP 작성 애플리케이션. HHVM은 PHP 프로그래머가 중독된 유연성을 유지하면서 놀라운 성능을 달성하기 위해 마지막 순간의 컴파일 경로를 사용합니다. 지금까지 HHVM은 PHP 엔진 + APC(대체 PHP 캐시)와 비교하여 Facebook의 http 요청 처리량이 9배 이상 증가하고 메모리 사용률(낮은 시스템 메모리에서 실행 시)이 5배 이상 감소했습니다. ).

HHVM은 Nginx 또는 Apache와 같은 FastCGI 기반 웹 서버와 함께 사용할 수도 있습니다.

이 튜토리얼에서는 Nginx/Apache 웹 서버, MariaDB 데이터베이스 서버 및 HHVM을 설정하는 단계를 살펴보겠습니다. . HHVM은 64비트 시스템에서만 실행되지만 Debian 및 Linux Mint 배포판도 지원되므로 이 설정에서는 Ubuntu 15.04(64비트)를 사용합니다.

1단계: Nginx 및 Apache 웹 서버 설치

1. 먼저 다음 명령을 사용하여 저장소 목록을 업데이트하기 위해 시스템 업그레이드를 수행합니다.


apt-get update && apt-get upgrade

2. 앞서 말했듯이 HHVMNginxApache 웹 서버와 함께 사용할 수 있습니다. 따라서 어떤 웹 서버를 사용할지는 귀하의 선택이지만 여기서는 웹 서버 설치 및 HHVM과 함께 사용하는 방법을 모두 보여 드리겠습니다.

Nginx 설치

이 단계에서는 다음 명령을 사용하여 패키지 저장소에서 Nginx/Apache 웹 서버를 설치합니다.


apt-get install nginx

아파치 설치


apt-get install apache2

이제 다음 URL로 이동하면 Nginx 또는 Apache 기본 페이지를 볼 수 있습니다.


http://localhost
OR
http://IP-Address
Nginx 기본 페이지

Apache 기본 페이지

2단계: MariaDB 설치 및 구성

3. 이 단계에서는 MySQL에 비해 더 나은 성능을 제공하는 MariaDB를 설치합니다.


apt-get install mariadb-client mariadb-server

4. MariaDB가 성공적으로 설치되면 MariaDB를 시작하고 루트 비밀번호를 설정하여 데이터베이스를 보호할 수 있습니다.


systemctl start mysql
mysql_secure_installation

y 또는 n을 입력하고 Enter 키를 눌러 다음 질문에 답하세요. 질문에 답하기 전에 지침을 주의 깊게 읽으십시오.


Enter current password for root (enter for none) = press enter
Set root password? [Y/n] = y
Remove anonymous users[y/n] = y
Disallow root login remotely[y/n] = y
Remove test database and access to it [y/n] = y
Reload privileges tables now[y/n] = y 

5. MariaDB의 루트 비밀번호를 설정한 후 새 루트 비밀번호로 MariaDB 프롬프트에 연결할 수 있습니다.


mysql -u root -p

3단계: HHVM 설치

6. 이 단계에서는 HHVM을 설치하고 구성합니다. HHVM 저장소를 sources.list 파일에 추가한 후 다음 일련의 명령을 사용하여 저장소 목록을 업데이트해야 합니다.


wget -O - http://dl.hhvm.com/conf/hhvm.gpg.key | apt-key add -
echo deb http://dl.hhvm.com/ubuntu DISTRIBUTION_VERSION main | sudo tee /etc/apt/sources.list.d/hhvm.list
apt-get update

중요: DISTRIBUTION_VERSIONUbuntu 배포 버전(예: 명확하고 정확하거나 신뢰할 수 있는 버전)으로 바꾸는 것을 잊지 마세요. .) 그리고 Debian에서도 jessie 또는 wheezy로 대체합니다. Linux Mint 설치 지침은 동일하지만 petra는 현재 지원되는 유일한 배포판입니다.

HHVM 저장소를 추가한 후 그림과 같이 쉽게 설치할 수 있습니다.


apt-get install -y hhvm

HHVM을 설치하면 지금 시작되지만 다음 시스템 부팅 시 자동 시작되도록 구성되어 있지 않습니다. 다음 부팅 시 자동 시작을 설정하려면 다음 명령을 사용하십시오.


update-rc.d hhvm defaults

4단계: HHVM과 통신하도록 Nginx/Apache 구성

7. 이제 nginx/apache와 HHVM이 독립적으로 설치되어 실행되므로 두 웹 서버가 서로 통신하도록 구성해야 합니다. 중요한 부분은 nginx/apache에게 모든 PHP 파일을 HHVM으로 전달하여 실행하도록 지시해야 한다는 것입니다.

Nginx를 사용하는 경우 설명된 지침을 따르세요.

기본적으로 nginx 구성은 /etc/nginx/sites-available/default에 있으며 이러한 구성은 실행할 파일을 /usr/share/nginx/html에서 찾습니다. 하지만 PHP로 무엇을 해야할지 모르겠습니다.

Nginx가 HHVM과 통신하도록 하려면 위에서 언급한 대로 nginx 구성 시작 부분에 hhvm.conf를 배치하여 nginx를 올바르게 구성하는 다음 포함 스크립트를 실행해야 합니다.

이 스크립트는 nginx가 .hh 또는 .php로 끝나는 모든 파일과 통신하고 fastcgi를 통해 HHVM으로 보내도록 만듭니다.


/usr/share/hhvm/install_fastcgi.sh

중요: Apache를 사용하는 경우 지금은 구성이 필요하지 않습니다.

8. 다음으로, /usr/bin/hhvm을 사용하여 이 명령을 실행하여 /usr/bin/php(php)를 제공해야 합니다. 아래에.


/usr/bin/update-alternatives --install /usr/bin/php php /usr/bin/hhvm 60

위의 모든 단계가 완료되면 이제 HHVM을 시작하고 테스트할 수 있습니다.


systemctl start hhvm

5단계: Nginx/Apache로 HHVM 테스트

9. hhvm이 작동하는지 확인하려면 nginx/apache 문서 루트 디렉터리에 hello.php 파일을 만들어야 합니다.


nano /usr/share/nginx/html/hello.php       [For Nginx]
OR
nano /var/www/html/hello.php               [For Nginx and Apache]

이 파일에 다음 코드 조각을 추가하세요.


<?php
if (defined('HHVM_VERSION')) {
echo 'HHVM is working';
 phpinfo();
}
else {
echo 'HHVM is not working';
}
?>

그런 다음 다음 URL로 이동하여 'hello world'가 표시되는지 확인하세요.


http://localhost/info.php
OR
http://IP-Address/info.php

"HHVM" 페이지가 나타나면 모든 준비가 완료된 것입니다!

결론

이 단계는 따르기가 매우 쉬우며 이 튜토리얼이 유용하길 바랍니다. 패키지 설치 중 오류가 발생하는 경우 의견을 게시해 주시면 함께 해결책을 찾아보겠습니다. 그리고 추가적인 아이디어도 환영합니다.