Hướng dẫn cài đặt HHVM với Apache và Nginx trên Ubuntu 16
HHVM được viết tắt từ “HipHop Virtual Machine” là một mã nguồn mở máy ảo dựa trên just-in-time (JIT) ,một ngôn ngữ lập trình tương tự như PHP-FPM , được phát triển bởi Facebook. HHVM giúp tăng tốc PHP nhờ sử dụng máy xử lý ảo dựa trên trình biên dịch just-in-time (JIT).
Apache và Nginx là hai phần mềm máy chủ web phổ biến nhất trên mạng.
Bài viết sau đây sẽ hướng dẫn các bạn làm thế nào đề cài đặt HHVM với Apache và Nginx trên Ubuntu 16
I.Chuẩn bị
Đầu tiên chúng ta cần cài đặt Apache hoặc Nginx
# apt-get update -y# apt-get install nginx -y
hoặc
# apt-get install apache2 -y
Cài đặt thêm một số phần mềm cần thiết
# apt install software-properties-common -y
Tạo kho để cài đặt HHVM
# apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0x5a16e7281be7a449 # add-apt-repository "deb http://dl.hhvm.com/ubuntu $(lsb_release -sc) main" # apt-get update -y
II.Tiến hành
ĐỂ cài đặt HHVM ta gõ lệnh sau
# apt-get install hhvm -y
HHVM đi kèm với một script làm việc tích hợp với nginx rất dễ dàng. Miễn là cài đặt nginx một cách mặc định không cài thêm bất cứ FastCGI ví dụ như php-fpm ,thì bạn cò thể chạy script mà không cần thay đổi một thông số nào hết , bạn gõ lệnh sau để chạy script
# /usr/share/hhvm/install_fastcgi.sh
Để đảm bảo cho HHVM tự động bật và tắt , thêm lệnh HHVM để chạy theo mặc định ta gõ lệnh sau
# update-rc.d hhvm defaults
Khởi động lại HHVM
# /etc/init.d/hhvm restart
Cấu hình HHVM làm việc với Nginx
Mặc định HHVM sẽ lắng nghe qua port TCP 9000. HHVM được coi cho các môi trường dưới tải nặng nên các thay đổi cấu hình đầu tiên bạn có thể làm là làm cho HHVM nghe một socket thay vì một cổng TCP. Vì vậy, các thông tin liên lạc giữa Nginx và HHVM sẽ đòi hỏi ít CPU và bộ nhớ.
Mở file /etc/hhvm/server.ini
# nano /etc/hhvm/server.ini
Chúng ta sẽ đóng dấu ‘#‘ vào dòng thứ 5 và thêm dòng thứ 4 vào
php options pid = /var/run/hhvm/pid ; hhvm specific hhvm.server.file_socket=/var/run/hhvm/hhvm.sock #hhvm.server.port = 9000 hhvm.server.type = fastcgi 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
Tiếp theo, bạn phải làm cho Nginx ý thức của sự thay đổi này, mở file /etc/nginx/hhvm.conf
# nano /etc/nginx/hhvm.conf
Thay nội dung dòng thứ 3 như dưới đây
location ~ \.(hh|php)$ { fastcgi_keep_conn on; fastcgi_pass unix:/var/run/hhvm/hhvm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
Lưu và thoát ,xong chúng ta mở file cấu hình Nginx ra
# nano /etc/nginx/sites-enabled/default
Thêm ‘index.php‘ Vào dòng bên dưới để Nginx và HHVM làm việc với nhau
# Add index.php to the list if you are using PHP index index.php index.html index.htm index.nginx-debian.html;
Khởi động lại Nginx và HHVM
# /etc/init.d/hhvm restart # /etc/init.d/nginx restart
Cấu hình HHVM làm việc với Apache
Khi cài đặt HHVM sẽ tự động làm việc với Apache mà không cần cấu hình hình gì phức tạp
Chúng ta sẽ chỉ cần chỉnh sửa lại một chút đường dẫn cơ bản của HHVM trong file hhvm_proxy_fcgi.conf
# nano /etc/apache2/mods-available/hhvm_proxy_fcgi.conf
Và sửa nội dung như sau
ProxyPassMatch ^/(.+\.(hh|php)(/.*)?)$ fcgi://127.0.0.1:9000/var/www/html/$1
Khởi động lại Apache và HHVM
# /etc/init.d/hhvm restart # /etc/init.d/apache2 restart
Kiểm tra
Để kiểm tra phiên bản ta gõ lệnh sau
# /usr/bin/php --version
Bây giờ chúng ta sẽ tạo một file test cấu hình php
# nano /var/www/html/info.php
Có nội dung như sau
<?php phpinfo(); ?>
Các bạn truy cập vào địa chỉ http://<Địa chỉ vps>/info.php thông qua trình duyệt web, nếu được như hình dưới là thành công
Kết
Đến đây đã kết thúc bài hướng dẫn cài đặt HHVM với Apache và Nginx trên Ubuntu 16. Hẹn gặp lại các bạn trong các bài tiếp theo, chúc các bạn thành công!