同時,hhvm 也可以與基于 fastcgi 的 web 伺服器(如 nginx 或者 apache )協同工作。
安裝 hhvm,nginx和 apache 還有 mariadb
在本教程中,我們一起來配置 nginx/apache web 伺服器、 資料庫伺服器 mariadb 和 hhvm 。我們将使用 ubuntu 15.04 (64 位),因為 hhvm 隻能運作在64位系統上。同時,該教程也适用于 debian 和 linux mint。
<a target="_blank"></a>
1、首先,先進行一次系統的更新并更新軟體倉庫清單,指令如下
<code># apt-get update && apt-get upgrade</code>
系統更新
2、 正如我之前說的,hhvm 能和 nginx 和 apache 進行內建。是以,究竟使用哪個伺服器,這是你的自由,不過,我們會教你如何安裝這兩個伺服器。
我們通過下面的指令安裝 nginx/apache 伺服器
<code># apt-get install nginx</code>
安裝 nginx 伺服器
<code># apt-get install apache2</code>
安裝 apache 伺服器
完成這一步,你能通過以下的連結看到 nginx 或者 apache 的預設頁面
<code>http://localhost</code>
<code>或</code>
<code>http://ip-address</code>
nginx 預設頁面
apache 預設頁面
3、 這一步,我們将通過如下指令安裝 mariadb,它是一個比 mysql 性能更好的資料庫
<code># apt-get install mariadb-client mariadb-server</code>
安裝 mariadb
4、 在 mariadb 成功安裝之後,你可以啟動它,并且設定 root 密碼來保護資料庫:
<code># systemctl start mysql</code>
<code># mysql_secure_installation</code>
回答以下問題,隻需要按下<code>y</code>或者 <code>n</code>并且回車。請確定你仔細的閱讀過說明。
<code>enter current password for root (enter for none) = press enter</code>
<code>set root password? [y/n] = y</code>
<code>remove anonymous users[y/n] = y</code>
<code>disallow root login remotely[y/n] = y</code>
<code>remove test database and access to it [y/n] = y</code>
<code>reload privileges tables now[y/n] = y</code>
5、 在設定了密碼之後,你就可以登入 mariadb 了。
<code># mysql -u root -p</code>
6、 在此階段,我們将安裝 hhvm。我們需要添加 hhvm 的倉庫到你的<code>sources.list</code>檔案中,然後更新軟體清單。
<code># wget -o - http://dl.hhvm.com/conf/hhvm.gpg.key | apt-key add -</code>
<code># echo deb http://dl.hhvm.com/ubuntu distribution_version main | sudo tee /etc/apt/sources.list.d/hhvm.list</code>
<code># apt-get update</code>
重要:不要忘記用你的 ubuntu 發行版代号替換上述的 distribution_version (比如:lucid, precise, trusty) 或者是 debian 的 jessie 或者 wheezy。在 linux mint 中也是一樣的,不過隻支援 petra。
添加了 hhvm 倉庫之後,你就可以輕松安裝了。
<code># apt-get install -y hhvm</code>
安裝之後,就可以啟動它,但是它并沒有做到開機啟動。可以用如下指令做到開機啟動。
<code># update-rc.d hhvm defaults</code>
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.conf 的頭部。
這個腳本可以確定 nginx 可以對 .hh 和 .php 的做正确的處理,并且将它們通過 fastcgi 發送給 hhvm。
<code># /usr/share/hhvm/install_fastcgi.sh</code>
配置 nginx、hhvm
重要: 如果你使用的是 apache,這裡不需要進行配置。
8、 接下來,你需要使用 hhvm 來提供 php 的運作環境。
<code># /usr/bin/update-alternatives --install /usr/bin/php php /usr/bin/hhvm 60</code>
以上步驟完成之後,你現在可以啟動并且測試它了。
<code># systemctl start hhvm</code>
9、 為了确認 hhvm 是否工作,你需要在 nginx/apache 的文檔根目錄下建立 hello.php。
<code># nano /usr/share/nginx/html/hello.php [對于 nginx]</code>
<code># nano /var/www/html/hello.php [對于 nginx 和 apache]</code>
在檔案中添加如下代碼:
<code><?php</code>
<code>if (defined('hhvm_version')) {</code>
<code>echo 'hhvm is working';</code>
<code>phpinfo();</code>
<code>} else {</code>
<code>echo 'hhvm is not working';</code>
<code>}</code>
<code>?></code>
然後通路如下連結,确認自己能否看到 "hello world"
<code>http://localhost/info.php</code>
<code>http://ip-address/info.php</code>
hhvm 頁面
如果 “hhvm” 的頁面出現了,那就說明你成功了。
以上的步驟都是非常簡單的,希望你能覺得這是一篇有用的教程,如果你在以上的步驟中遇到了問題,給我們留一個評論,我們将全力解決。
本文來自雲栖社群合作夥伴“linux中國”,原文釋出日期:2015-09-06