GNU/Linux >> Linux の 問題 >  >> Debian

HHVMの説明– Ubuntu 16.04 /Debian8にHHVMをインストールします

HHVM(HipHop Virtual Machine)は、HackおよびPHPで記述されたプログラムを実行するために設計されたオープンソースの仮想マシンです。 HHVMはFacebookによって開発されており、そのソースコードはGithubでホストされています。 PHPおよびZendライセンスの条件の下でリリースされました。

HHVMは、PHPが提供する開発の柔軟性を損なうことなく、優れたパフォーマンスを実現するのに役立つJIT(ジャストインタイム)コンパイルの原則を使用しています。 HHVMは、PHPまたはハックコードを中間HipHopバイトコード(HHBC)に実行してから、x86_64マシンコードに動的に変換します。

HHVMは、ほとんどの主要なLinuxプラットフォームにインストールできます。 Mac OS X 10.10での実験的なサポートもあり、Windowsオペレーティングシステムをサポートするための作業が進行中です。

HHVMは、DebianおよびUbuntuオペレーティングシステム用のビルド済みパッケージを提供します。

Ubuntu 16.04(Xenial)
Ubuntu 15.10(Wily Werewolf)
Ubuntu 15.04(Vivid)
Ubuntu 14.04(Trusty)
Debian 8(Jessie)
Debian 7(Wheezy )

他の種類のLinuxディストリビューションのソースからビルドすることもできます。

リリース:

HHVMはFacebookによって積極的に開発されており、8週間ごとにフルバージョン(安定版リリース)を入手できます。 HHVMの3つおきのメジャーポイントリリースは、ロングタームサポート(LTS)リリースと見なされます。 LTSはほぼ1年間サポートされており、重大なバグ修正とセキュリティパッチがバックポートされています。

それでも質問がある場合は、LTSリリースに関するブログ投稿にアクセスしてください。

このガイドは、Ubuntu16.04およびDebian8でHHVMをセットアップするのに役立ちます。このガイドは、Ubuntu 15.10、Ubuntu 14.04 LTS、Ubuntu 15.04、Debian7などの以前のバージョンのUbuntuで機能するはずです。

HHVMリポジトリの追加:

次に、インストールに進む前に、マシンにHHVMリポジトリを追加します。

Debian:

sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0x5a16e7281be7a449
echo deb http://dl.hhvm.com/debian $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/hhvm.list

Ubuntu:

sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0x5a16e7281be7a449
sudo add-apt-repository "deb http://dl.hhvm.com/ubuntu $(lsb_release -sc) main"
PS:Ubuntuの場合、変数「$(lsb_release -sc)」をディストリビューションのcodnameに置き換えます。例:ゼニアル

Ubuntu 16.04 / Debian 8にHHVMをインストールします:

リポジトリキャッシュを更新し、HHVMのインストールに進みます。これにより、最新バージョンのHHVMがマシンにインストールされます。

sudo apt-get update
sudo apt-get install -y hhvm

HHVMのバージョンを確認します。

$ php -v

HipHop VM 3.15.0 (rel)
Compiler: tags/HHVM-3.15.0-0-g92a682ebaa3c85b84857852d8621f528607fe27d
Repo schema: 225d4323575bbc8a498dc809a1c41354f6bca830

HHVMのテスト:

コマンドを呼び出すだけでHHVMを起動できます。 「hhvm」コマンドで追加の引数を使用してHHVMサーバーを制御できます。

現在の作業ディレクトリでWebブラウザを介してリクエストを処理するPHPファイルを作成しましょう。

vi test.php

以下の内容を上記のファイルに入れてください。

以下のコマンドを実行します。

hhvm -m server -p 8080

-m モードを表し、ここではHHVMがHTTPサーバーモードとして実行されていることを示します
-p HHVMがHTTPリクエストをリッスンするために使用するTCPポートを構成します。

HHVMモードについて詳しく知る。

Webブラウザを以下のURLに移動します。

http://ip-add-re-ss:8080 / test.php

HHVMが正常に機能していることを確認する以下のページが表示されます。

サーバーの種類:

サーバータイプは、HHVMがユーザーの要求に応じてページを提供する方法に基づいて分類されます。サーバータイプのサポートが組み込まれています: Proxygen およびFastCGI

HHVM ProxyGen:

Proxygenモードは、HHVMに直接組み込まれた完全なWebサーバーです。セットアップと実行は非常に簡単で、Webリクエストを高速に処理します。 Porxygenモードは、FastCGIおよびNginxと同等の高性能Webサーバーを提供します。

すでに述べたように、構成パラメーターは非常に単純でセットアップが簡単です。 HHVMのメイン構成ファイルは/etc/hhvm/server.iniです。 。

以下のように構成ファイルを編集します。

sudo vi /etc/hhvm/server.ini

要件に応じてHHVM構成を変更します。

; configures the TCP port that HHVM uses to listen to HTTP requests.
hhvm.server.port = 80
; Configures HHVM server type
hhvm.server.type = proxygen
; Configures default document for the directory
hhvm.server.default_document = index.php
; Enabling Logs
hhvm.log.use_log_file = true
hhvm.log.file = /var/log/hhvm/error.log
; Configures Error document for the directory
hhvm.server.error_document404 = index.php
; Sets the default directory for HHVM webserver when it is started
hhvm.server.source_root=/var/www/public

これらのコマンドを実行して、HHVMを起動時に起動し、今すぐサービスとして起動するように設定できます。

sudo update-rc.d hhvm defaults
sudo service hhvm restart

Webサイトのドキュメントを保持する/var/ www/publicディレクトリを作成します。

sudo mkdir -p /var/www/public

テストファイルを作成して、HHVMがWebリクエストを処理していることを確認します。

sudo vi /var/www/public/index.php

以下の内容を上記のファイルに貼り付けます。

選択したブラウザからHHVMWebサーバーにアクセスします。

http:// ip-add-re-ss

PHPに関するすべての情報を見つけることができるPHPInfoページが表示されます。

HHVM FastCGI:

このモードでは、HHVMはWebドキュメント( .php )の間に配置されます )およびWebサーバー( Apache またはNginx )。 FastCGIは、Webページを高速に提供する際に高性能を提供します。これは、PHP-FPMと非常によく似ています。 HHVMはTCPソケット( localhost:9000 )のいずれかでリッスンします )またはUNIXソケット。 Webサーバー( Nginx またはApache )ポート80または443でWebリクエストをリッスンします。

新しいリクエストが着信すると、WebサーバーはHHVMに接続するか、HHVMFastCGIを使用して以前に開いていた接続の1つを再利用します。接続が確立されると、WebサーバーはHHVMに、要求ヘッダー、本文、実行するファイルのパスなどの情報を提供します。これで、HHVMは受信した情報を計算し、FastCGIを使用してWebサーバーに送り返します。最後に、Webサーバーは要求されたデータを含む応答をクライアントに送信します。

Apache:

次のコマンドを使用して、Apacheサーバーをマシンにインストールします。

sudo apt-get install -y apache2

以下のコマンドを実行すると、ApacheがHHVMと連携してWebリクエストを処理するように設定されます。

sudo /usr/share/hhvm/install_fastcgi.sh

デフォルトでは、apacheは / var / www / htmlでWebページを検索します リクエストを処理するディレクトリですが、 .phpの処理方法がわからない場合があります ファイル。したがって、 .hhで終わるファイルを取得するようにapacheに指示する必要があります。 または.php fastCGI経由でHHVMに送信しました。

以下の構成ファイルを編集します。

sudo vi /etc/apache2/mods-enabled/hhvm_proxy_fcgi.conf

以下のように設定してください。

ProxyPassMatch ^/(.+\.(hh|php)(/.*)?)$ fcgi://127.0.0.1:9000/var/www/html/$1

apacheおよびHHVMサービスを再起動します。

sudo /etc/init.d/apache2 restart
sudo /etc/init.d/hhvm restart

Nginx:

次のコマンドを使用して、マシンにNginxをインストールします。

sudo apt-get install -y nginx

以下のコマンドを実行すると、NginxがHHVMと連携してWebリクエストを処理するように設定されます。

sudo /usr/share/hhvm/install_fastcgi.sh

デフォルトでは、Nginxは / usr / share / nginx / htmでWebページを検索します l(OSによって異なります)リクエストを処理するディレクトリですが、 .phpの処理方法がわからない場合があります ファイル。したがって、 .hhで終わるファイルを取得するようにNginxに指示します または.php fastCGI経由でHHVMに送信しました。

以下の構成ファイルを編集します。

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

行の下を変更し、インデックス行にindex.phpを追加します。

差出人:

index index.html index.htm;

宛先:

index index.php index.html index.htm;

apacheおよびHHVMサービスを再起動します。

sudo /etc/init.d/nginx restart
sudo /etc/init.d/hhvm restart

FastCGIタイプをテストするには、.phpファイルを作成してデフォルトのディレクトリに配置します。

ApacheおよびNginxUbuntu16.04、15.04 / Debian 8:

$ sudo vi /var/www/html/index.php

以下の内容を上記のファイルに貼り付けます。

  
        
Debian
  1. UbuntuとDebianにSpotifyをインストールする方法

  2. Ubuntu 16.04 / 14.04 /Debian9/8にownCloud10をインストールします

  3. Ubuntu 18.04 /Ubuntu16.04およびDebian9にPuppet6.xをインストールする方法

  1. Ubuntu20.04およびDebian10にCTparentalをインストールする方法

  2. HHVMの説明– Ubuntu 16.04 /Debian8にHHVMをインストールします

  3. UbuntuとDebianにNode.jsをインストールする

  1. Ubuntu 18.04 /Ubuntu16.04およびDebian9にIcinga2をインストールする方法

  2. Debian 9 /Ubuntu16.04にWebminをインストールする方法

  3. Debian 9 /Ubuntu16.04にphpMyAdminをインストールします