본문 바로가기
서버/리눅스

CentOS 6.x HHVM 설치하기 - laravel, nginx 연동

by 사악신 2015. 2. 25.


PHP 성능 향상을 위하여 Facebook 에서 개발한 HHVM 을 설치해 보았습니다.(HHVM 에 관한 설명은 각종 뉴스나 위키를 참고하시면 되겠습니다.^^)


그리고 기존 설정 환경과 관련한 글은 아래 포스팅을 참고해주세요.



먼저, yum repo 를 등록합니다.(루트 권한으로 실행, 가급적 이 저장소를 사용하기 바랍니다. 잘못된 빌드 배포가 있어... 일부 PHP 코드가 오동작하는 경우도 있더군요.)



먼저, 필요한 패키지를 설치합니다.


#yum install libmcrypt-devel glog-devel jemalloc-devel tbb-devel libdwarf-devel mysql-devel \

libxml2-devel libicu-devel pcre-devel gd-devel boost-devel sqlite-devel pam-devel \

bzip2-devel oniguruma-devel openldap-devel readline-devel libc-client-devel libcap-devel \

libevent-devel libcurl-devel libmemcached-devel


저장소를 추가합니다.


#rpm -Uvh http://yum.gleez.com/6/x86_64/gleez-repo-6-0.el6.noarch.rpm


이제 hhvm 을 설치합니다.


#yum clean all

#yum install --nogpgcheck hhvm


설치가 모두 끝나면, hhvm --version 명령어를 입력하여 정상적으로 설치가되었는지 확인합니다.




그리고 /etc/hhvm 으로 이동해보면 2개의 설정 파일이 존재합니다.





예전에는 server.hdf 설정 파일을 사용하였지만...



최근에는 php.ini, server.ini 로 대체된 것으로 보입니다.



예전의 nginx + php-fpm 과 유사하게 사용하기 위하여 server.ini 를 작성해보았습니다.


pid = /var/run/hhvm/pid


; hhvm specific


;hhvm.server.port = 9001

hhvm.server.type = fastcgi

hhvm.server.file_socket = /var/run/hhvm/sock

hhvm.server.default_document = index.php

hhvm.log.use_log_file = true

hhvm.log.file = /var/log/hhvm/error.log

hhvm.repo.central.path = /var/run/hhvm/hhvm.hhbc


아울러 기존의 nginx + php-fpm 설정 파일에서 아래 내용을 추가 및 변경합니다.


fastcgi_keep_conn on;

fastcgi_pass   unix:/var/run/hhvm/sock;


그리고 서비스를 실행합니다.


#/etc/rc.d/init/hhvm start

#/etc/rc.d/init/nginx restart


재부팅시 적용되도록 추가합니다.


#cd /etc/init.d

#chkconfig --level 345 hhvm on


기존의 php-fpm 서비스는 중단합니다.(재부팅시에도 적용되도록 합니다.)


#/etc/rc.d/init/php-fpm stop


컴파일된 코드는 /var/run/hhvm/hhvm.hhbc 에 생성(SQLite 임)됩니다. 참고하세요. ^^






반응형

댓글