За последние несколько месяцев 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
Вы должны установить корневой пароль MySQL по очевидным причинам безопасности. Если вы особенно $ mysql_secure_installation
безопасности, вам также следует запустить $ mysql_secure_installation
и выполнить необходимые шаги для блокировки вашего сервера.
Установить Nginx
Следующее, что вам нужно сделать, это настроить веб-сервер. Я предпочитаю использовать Nginx, потому что он легкий, универсальный и простой в настройке.
$ sudo apt-get install nginx
Установить HHVM
Теперь установите HHVM. Это не так просто, как установка других пакетов, потому что это не доступно в репозитории Ubuntu. Вместо этого мы должны загрузить его из самого HHVM вместе с несколькими зависимостями.
1
2
3
4
5
6
7
8
|
wget -O — http://dl.hhvm.com/conf/hhvm.gpg.key |
echo deb http://dl.hhvm.com/ubuntu trusty main |
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.
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
|
server {
listen 80;
server_name localhost;
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 в корневой веб-каталог:
$ 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
. Теперь выполните следующие команды:
1
2
3
4
5
|
CREATE DATABASE wordpress;
CREATE USER wordpress@localhost;
GRANT ALL PRIVILEGES ON wordpress.* to username@localhost IDENTIFIED BY ‘password’;
FLUSH PRIVILEGES;
quit
|
Теперь вы можете перейти на IP-адрес вашего сервера и следовать знаменитой пятиминутной установке.
Вывод
Поздравляем! Теперь у вас есть собственный сайт WordPress, работающий по самым современным технологиям. Вот мои скорости запуска WordPress по умолчанию с использованием HHVM, следуя инструкциям выше:
Как быстро загружается ваш сайт?