序章

この記事では、 Digital OceanVPS上のUbuntu13.10にHHVMをインストールするために必要な手順について説明します。 この記事では、以下を作成してHHVMを使用する方法についても説明します。

  1. PHPのコマンドライン「HelloWorld」スクリプト

  2. PHPで記述され、HHVMサーバーによって提供されるWebベースの「HelloWorld」スクリプト

前提条件

このチュートリアルの唯一の前提条件は、 Ubuntu 13.10×64がインストールされたVPSです。 HHVMは32ビットオペレーティングシステムをサポートしておらず、32ビットオペレーティングシステムのサポートを追加する予定はないことに注意してください。

コマンドラインからコマンドを実行する必要があります。これは、次の2つの方法のいずれかで実行できます。

  1. SSHを使用してドロップレットにアクセスします。

  2. Digital Ocean DropletManagementPanelの「ConsoleAccess」を使用する

HHVMとは何ですか?

HipHop Virtual Machine(HHVM)は、PHPで記述されたプログラムとスクリプトを処理および実行するために、Facebookによって開発およびオープンソース化された仮想マシンです。 FacebookはHHVMを開発しました。これは、通常のZend + Apacheの組み合わせが、PHPで構築された大規模なアプリケーションを提供するのにそれほど効率的ではないためです。

彼らのウェブサイトによると、HHVMは、ZendPHPエンジン+APC(これはPHPアプリケーションの大部分をホストする現在の方法)。

HHVMのインストール

HHVMのインストールは非常に簡単で、数分以上かかることはありません。 コマンドラインから次の4つのコマンドを実行すると、HHVMがインストールされ、準備が整います。

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

HHVMがインストールされていることを確認するには、次のコマンドを入力します。

hhvm --help

これにより、コマンドラインからhhvmコマンドを使用する方法の詳細が表示されます。 これを示すサンプルスクリーンショットは次のとおりです。

HHVMを使用してコマンドラインからPHPで「HelloWorld」スクリプトをテストする

コマンドラインで次のコマンドを入力します。

cat > hello_world.php

これにより、hello_world.phpという名前のファイルが作成され、その内容を入力できるようになります。 次のコードを入力(またはコピーアンドペースト)してから、Ctrl + Dを押してファイルを保存します。

<?php

echo "\nHello World\n\n";

ノート: nanovimなどのエディターに精通している場合は、それらを使用してこのファイルを作成および保存できます。

このファイルが作成されると、hhvmを使用して、次のコマンドを使用してファイルを実行できます。

hhvm hello_world.php

これは、このHelloWorldスクリプトの作成と実行を説明するスクリーンショットです。

HHVMサーバー(ブラウザーからアクセス可能)を使用して、PHPで「HelloWorld」スクリプトをテストします。

まず、パブリックフォルダーとして機能し、PHPファイルを含むディレクトリ(public)を作成します。 このディレクトリには任意の名前を付けてどこにでも配置できることに注意してください。 次のコマンドを実行してこのディレクトリを作成し、入力します。

mkdir public
cd public

次に、コマンドラインで次のコマンドを入力します。

cat > hello.php

これにより、publicディレクトリにhello.phpという名前のファイルが作成され、その内容を入力できるようになります。 次のコードを入力(またはコピーアンドペースト)してから、Ctrl + Dを押してファイルを保存します。

<?php

echo '<h1>Hello World</h1>';

ノート: nanovimなどのエディターに精通している場合は、それらを使用してこのファイルを作成および保存できます。

このファイルが作成されると、コマンドラインからhhvmを使用して、次の方法でサーバーを起動できます。

hhvm -m server

これは、このHelloWorldスクリプトの作成と実行を説明するスクリーンショットです。

このコマンドはサーバーを(ポート80で)起動し、hello.phpファイルにブラウザーからアクセスできるようになります。 ドロップレットのIPアドレスが128.199.212.7の場合、この新しく作成されたファイルには次の場所からアクセスできます。

http://128.199.212.7/hello.php

ノート: 128.199.212.7を、ドロップレットで使用されているIPアドレスまたはドメイン名に置き換えます。

このURLにアクセスすると、次のスクリーンショットのようなWebページが表示されます。

PHPアプリケーションをHHVMに移植する

ポート80(Webサイトの標準ポート)でZend / Apacheの代わりにHHVMを使用してPHPアプリケーションの提供を開始するには、Apacheサービスを停止する必要があります。 これは、次のコマンドを使用して実行できます。

service apache2 stop

このコマンドはApacheを停止し、HHVMが使用できるようにポート80を解放します。 次のステップは、PHPアプリケーションのルートディレクトリでHHVMサーバーを起動することです。 Ubuntuでのこのルートディレクトリの最も一般的な場所は/var/wwwです。

次のコマンドを使用して、このディレクトリに切り替えます。

cd /var/www

このディレクトリに移動したら、HHVMサーバーを起動するだけです。

hhvm -m server

このコマンドはHHVMサーバーを起動し、現在のディレクトリからPHPアプリケーションの提供を開始します。

FastCGIモードでのHHVMの使用

バージョン3.0以降、HHVMはサーバーモードで使用できなくなりました。 このセクションは、ApacheおよびNginxサーバーを使用してFastCGIモードでHHVMを構成するのに役立ちます。

Apacheを使用

ApacheでFastCGIモードで動作するようにHHVMを構成するのは非常に簡単です。 次のスクリプトを実行するだけです。

/usr/share/hhvm/install_fastcgi.sh

このスクリプトを実行すると、PHPコードの処理にHHVMの使用を開始するようにApacheが構成されます。 また、Apacheサーバーを再起動するため、他に何もする必要はありません。

Nginxを使用

PHP-FPMでNginxを使用している場合は、構成ファイルを変更してPHP-FPMの使用を無効にする必要があります。 このファイルは通常/etc/nginx/sites-available/defaultにあります

次のセクションを探して、すべてコメントされていることを確認します(各行の先頭に#を追加して)

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
#       fastcgi_split_path_info ^(.+\.php)(/.+)$;
#       # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
#
#       # With php5-cgi alone:
#       fastcgi_pass 127.0.0.1:9000;
#       # With php5-fpm:
#       fastcgi_pass unix:/var/run/php5-fpm.sock;
#       fastcgi_index index.php;
#       include fastcgi_params;
#}

これを行った後、次のスクリプトを実行します。

/usr/share/hhvm/install_fastcgi.sh

このスクリプトを実行すると、PHPコードの処理にHHVMの使用を開始するようにNginxが構成されます。 また、Nginxサーバーを再起動するため、他に何もする必要はありません。

Apache/NginxがHHVMを使用していることの確認

HHVMの使用を開始するようにサーバーを構成した後、サーバー(ApacheまたはNginx)が実際にHHVMを使用してPHPを処理していることを確認することをお勧めします。

これを行うには、テストPHPファイルを作成し、たとえばinfo.phpをサーバーのパブリックフォルダー(通常、Apacheの場合は/var/www、Nginxの場合は/usr/share/nginx/html)に配置します。 次に、このファイルに次のコンテンツを入れます。

<?php

echo  defined('HHVM_VERSION')?'Using HHVM':'Not using HHVM';

これで、すべてが正常に設定されている場合、ブラウザでこのファイルにアクセスすると、次のメッセージが表示されます。

HHVMの使用

重要な注意点

HHVMには、一般的に使用される多くのPHP拡張機能が組み込まれているため、多くのアプリケーションを簡単に移植できます。 ただし、アプリケーションがまだ組み込まれていないPHP拡張機能を使用している場合、HHVMを選択するとアプリケーションが破損します。 HHVMに移植されたPHP拡張機能の完全なリストは、ここにあります。

最後の言葉

ここまで到達した場合は、HHVMを使用してPHPベースのWebサイトにサービスを提供する準備が整っています。 HHVMは、通常のZend PHPエンジンとAPCの組み合わせよりも数倍効率的であるため、ハードウェア要件がはるかに低く、Webサイトへのより多くの訪問者にサービスを提供できます。

投稿者:http: //javascript.asia ”>ジェイ