sql >> Base de Datos >  >> RDS >> Mysql

Usando HHVM con WordPress

En los últimos meses, HHVM ha conquistado a la comunidad de PHP. Desde que se lanzó WordPress 3.9, HHVM ahora es 100% compatible con WordPress.

Desafortunadamente, HHVM no está del todo listo para su uso en producción en entornos autohospedados. En mi experiencia, HHVM falla aproximadamente una vez al día, lo que hace que no sea viable para un sitio donde la alta disponibilidad es importante. Recientemente, WP Engine ha lanzado el proyecto Mercury que permite que HHVM falle sin problemas al volver a PHP 5.5 cuando falla.

En este artículo, instalaremos HHVM en un servidor Ubuntu que ejecute la última versión de LTS, 14.04. Esto se puede lograr usando un programa de visualización como VirtualBox (gratis) con un archivo ISO de Ubuntu descargado o usando un servicio de alojamiento en la nube. DigitalOcean ofrece servidores en la nube por $5 al mes, que es lo que usaré en este tutorial.

Lo primero que debes hacer es actualizar todos los paquetes y dependencias:

$ sudo apt-get update && sudo apt-get upgrade

Instalar MySQL

Ahora necesita instalar MySQL, la base de datos que impulsa WordPress.

$ sudo apt-get install mysql-server

Debe establecer una contraseña raíz de MySQL por razones obvias de seguridad. Si está más consciente de la seguridad, también debe ejecutar $ mysql_secure_installation y siga los pasos necesarios para bloquear su servidor.

Instalar Nginx

Lo siguiente que debe hacer es configurar un servidor web. Prefiero usar Nginx porque es liviano, versátil y fácil de configurar.

$ sudo apt-get install nginx

Instalar HHVM

Ahora instale HHVM. No es tan sencillo como instalar otros paquetes porque no está disponible en el repositorio de Ubuntu. En su lugar, tenemos que descargarlo desde HHVM, junto con algunas dependencias.

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

Ahora que hemos instalado HHVM, debemos ejecutar un script de instalación que instalará el módulo HHVM para Nginx.

sudo /usr/share/hhvm/install_fastcgi.sh

Ahora reinicie HHVM y Nginx.

 sudo /etc/init.d/hhvm restart

sudo /etc/init.d/nginx restart

Configurar el sitio web

Lo siguiente que debemos hacer es configurar un host virtual para nuestro sitio web. Por lo general, crearía un nuevo host virtual para cada sitio web en un servidor, pero dado que estamos probando (y para simplificar), solo vamos a sobrescribir el contenido de /etc/nginx/sites-available/default con un archivo simple a continuación:

Nota:necesita permisos de root para editar este archivo.

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; 
  	}
}

Ahora podemos configurar WordPress:

  1. Vuelva a cargar su configuración nginx actualizada: $ sudo service nginx reload .
  2. Ahora cree un directorio raíz web:$ sudo mkdir /var/www .
  3. Descargar WordPress:  $ sudo wget http://wordpress.org/latest.tar.gz  /var/www/ .
  4. Extraer WordPress: $ sudo tar xvf /var/www/latest.tar.gz .
  5. Mover archivos de WordPress a la raíz web:$ sudo mv /var/www/wordpress/* /var/www/ .
  6. Limpiar:$ sudo rm -rf /var/www/wordpress /var/www/latest.tar.gz .
  7. Establecer permisos:$ sudo chmod -R 775 /var/www .
  8. Establecer grupos:$ sudo chown -R www-data.www-data /var/www .

Configurar la base de datos de WordPress

Inicie sesión en MySQL $ mysql -u root -p . Ahora ejecuta los siguientes comandos:

CREATE DATABASE wordpress;
CREATE USER wordpress@localhost;
GRANT ALL PRIVILEGES ON wordpress.* to username@localhost IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
quit

Ahora puede ir a la dirección IP de su servidor y seguir la famosa instalación de cinco minutos.