През последните няколко месеца HHVM превзе PHP общността с буря. След пускането на WordPress 3.9, HHVM вече е 100% съвместим с WordPress.
За съжаление, HHVM не е напълно готов за използване в производството в среди, които се хостват самостоятелно. Според моя опит HHVM се срива около веднъж на ден, което го прави нежизнеспособен за сайт, където високата наличност е важна. Наскоро WP Engine пусна проект Mercury, който безпроблемно позволява на HHVM да се провали, като се върне към PHP 5.5, когато се провали.
В тази статия ще инсталираме HHVM на сървър на Ubuntu, работещ с най-новата версия на LTS, 14.04. Това може да се постигне или чрез използване на програма за визуализация като VirtualBox (безплатно) с изтеглен Ubuntu ISO файл, или чрез използване на услуга за облачен хостинг. DigitalOcean предлага облачни сървъри за $5 на месец, което ще използвам в този урок.
Първото нещо, което трябва да направите, е да актуализирате всички пакети и зависимости:
$ sudo apt-get update && sudo apt-get upgrade
Инсталирайте MySQL
Сега трябва да инсталирате MySQL, базата данни, която захранва WordPress.
$ sudo apt-get install mysql-server
Трябва да зададете root MySQL парола поради очевидни причини за сигурност. Ако сте наясно със сигурността, трябва също да стартирате $ mysql_secure_installation
и следвайте необходимите стъпки, за да заключите сървъра си.
Инсталирайте Nginx
Следващото нещо, което трябва да направите, е да настроите уеб сървър. Предпочитам да използвам Nginx, защото е лек, гъвкав и лесен за конфигуриране.
$ sudo apt-get install nginx
Инсталирайте HHVM
Сега инсталирайте HHVM. Не е толкова лесно, колкото инсталирането на други пакети, защото не е налично в хранилището на Ubuntu. Вместо това трябва да го изтеглим от самия HHVM, заедно с няколко зависимости.
wget -O - https://dl.hhvm.com/conf/hhvm.gpg.key | sudo apt-key add - echo deb http://dl.hhvm.com/ubuntu trusty main | sudo tee /etc/apt/sources.list.d/hhvm.list sudo apt-get update cd /tmp && wget http://security.ubuntu.com/ubuntu/pool/main/libm/libmemcached/libmemcached10_1.0.8-1ubuntu2_amd64.de... sudo dpkg -i libmemcached10_1.0.8-1ubuntu2_amd64.deb && rm libmemcached10_1.0.8-1ubuntu2_amd64.deb sudo apt-get install -y libgnutls26 wget http://mirrors.kernel.org/ubuntu/pool/main/r/rtmpdump/librtmp0_2.4+20121230.gitdf6c518-1_amd64.deb && sudo dpkg -i librtmp0_2.4+20121230.gitdf6c518-1_amd64.deb && rm librtmp0_2.4+20121230.gitdf6c518-1_amd64.deb sudo apt-get install hhvm
След като инсталирахме HHVM, трябва да изпълним инсталационен скрипт, който ще инсталира модула HHVM за Nginx.
sudo /usr/share/hhvm/install_fastcgi.sh
Сега рестартирайте HHVM и Nginx.
sudo /etc/init.d/hhvm restart
sudo /etc/init.d/nginx restart
Настройте уебсайта
Следващото нещо, което трябва да направим, е да настроим виртуален хост за нашия уебсайт. Обикновено създавате нов виртуален хост за всеки уебсайт на сървър, но тъй като тестваме (и за простота), просто ще презапишем съдържанието на /etc/nginx/sites-available/default
с прост файл по-долу:
Забележка:имате нужда от root права, за да редактирате този файл.
server { listen 80; server_name localhost; # or replace localhost with domain name include hhvm.conf; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; root /var/www; index index.php; location / { try_files $uri $uri/ /index.php?$args; } }
Сега можем да настроим WordPress:
- Презаредете актуализираната си конфигурация nginx:
$ sudo service nginx reload
. - Сега създайте основна уеб директория:
$ sudo mkdir /var/www
. - Изтеглете WordPress:
$ sudo wget
http://wordpress.org/latest.tar.gz
/var/www/
. - Извличане на WordPress:
$ sudo tar xvf /var/www/latest.tar.gz
. - Преместете WordPress файлове в уеб root:
$ sudo mv /var/www/wordpress/* /var/www/
. - Почистване:
$ sudo rm -rf /var/www/wordpress /var/www/latest.tar.gz
. - Задайте разрешения:
$ sudo chmod -R 775 /var/www
. - Задаване на групи:
$ sudo chown -R www-data.www-data /var/www
.
Настройте базата данни на WordPress
Влезте в MySQL $ mysql -u root -p
. Сега изпълнете следните команди:
CREATE DATABASE wordpress; CREATE USER wordpress@localhost; GRANT ALL PRIVILEGES ON wordpress.* to username@localhost IDENTIFIED BY 'password'; FLUSH PRIVILEGES; quit
Сега можете да отидете на IP адреса на вашия сървър и да следвате известната петминутна инсталация.