Cómo configurar la pila de LEMH (Linux, Nginx, MariaDB, HHVM) en el servidor Ubuntu

Si ha administrado un servidor Linux anteriormente, estará familiarizado con la pila LAMP (Linux, Apache, MySQL, PHP) comúnmente utilizada. Sin embargo, Apache, MySQL y PHP a veces pueden ser intensivos en recursos y pueden no ser los mejores para su servidor. En este tutorial, vamos a reemplazar todas y cada una de las partes de la pila, excepto Linux, con una alternativa mejor – Nginx, MariaDB y HHVM.

Asunción

1. Este tutorial se realiza en un servidor Ubuntu 14.04, aunque las instrucciones también funcionarán para cualquier distribución basada en Debian.

2. Este tutorial sólo se centra en la instalación y configuración de la pila LEMH. No toca el aspecto de seguridad del servidor.

3. Ya debe tener acceso SSH a su servidor (o acceso físico a su máquina) para llevar a cabo este tutorial.

Instalando Nginx

Nginx es un sustituto ligero, pero potente, de Apache. Es un servidor proxy inverso de código abierto, así como un servidor web con un fuerte enfoque en alta concurrencia, alto rendimiento y bajo uso de memoria. Tenga en cuenta que Nginx no es compatible con Apache, por lo que toda la configuración de Apache, especialmente los archivos.htaccess que ha creado, no funcionarán en Nginx. También es posible ejecutar tanto Apache como Nginx en el mismo servidor, pero eso implicará una configuración complicada que no vamos a tratar aquí.

Nginx se encuentra en el repositorio de Ubuntu, pero a menudo está desactualizado. Para obtener la última versión estable, agregue el siguiente PPA a su sistema:

sudo add-apt-repository ppa:nginx/stable sudo apt-get update

La última versión de Nginx a partir de este post es 1.6.2. Alternativamente, si desea probar la última versión de desarrollo, puede utilizar este PPA en su lugar:

sudo add-apt-repository ppa:nginx/development sudo apt-get update

La última versión de desarrollo a partir de este post es la 1.7.8.

Para instalar Nginx, ejecute el comando:

sudo apt-get install nginx

Cómo configurar la pila de LEMH (Linux, Nginx, MariaDB, HHVM) en el servidor Ubuntu


Una vez instalado, ejecute el siguiente comando para asegurarse de que se inicie:

sudo service nginx start

Luego, en su navegador, vaya a la url «http://123.4.56.789» (reemplace 123.4.56.789 con la dirección IP de su servidor), y verá lo siguiente:

Cómo configurar la pila de LEMH (Linux, Nginx, MariaDB, HHVM) en el servidor Ubuntu


Instalación de MariaDB

Durante muchos años, MySQL es el servicio de gestión de base de datos por defecto para muchas aplicaciones. Desde que fue adquirida por Oracle, mucha gente empezó a cuestionar su «open-source» y la comunidad (que incluía al fundador de MySQL) decidió crear una bifurcación de MySQL y la llamó MariaDB. MariaDB es un reemplazo para MySQL, lo que significa que es totalmente compatible con bases de datos MySQL y puede ser usado como un reemplazo total para MySQL.

Hecho interesante : MySQL fue fundada por Michael Widenius y lleva el nombre de su primera hija, My. El desarrollador principal de MariaDB es también Michael Widenius y lleva el nombre de su segunda hija, Maria.

En su servidor, si ha instalado previamente MySQL, es mejor eliminar MySQL completamente antes de instalar MariaDB:

sudo apt-get remove –purge mysql-server mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo rm -rf /var/lib/mysql
sudo apt-get autoclean

Luego, agregue el PPA para MariaDB:

sudo apt-get install software-properties-common sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db sudo add-apt-repository `deb http://sfo1.mirrors.digitalocean.com/mariadb/repo/10.0/ubuntu trusty main? sudo apt-get update

Tenga en cuenta que también puede generar su propio PPA aquí y encontrar la ubicación más cercana a su servidor.

Instale MariaDB con este comando:

sudo apt-get install mariadb-server

Durante la instalación, se le pedirá que establezca una contraseña para el usuario root.

Cómo configurar la pila de LEMH (Linux, Nginx, MariaDB, HHVM) en el servidor Ubuntu


Después de la instalación, puede iniciar MariaDB con el comando:

sudo service mysql start

Instalación de PHP y HHVM

HHVM no es un sustituto de PHP. Es una máquina virtual de código abierto diseñada para ejecutar programas escritos en Hack y PHP. HHVM utiliza un enfoque de compilación justo a tiempo (JIT) para lograr un rendimiento superior mientras mantiene la flexibilidad de desarrollo que proporciona PHP.

Antes de instalar HHVM, es importante instalar primero PHP en el servidor. En lugar de instalar el paquete PHP5 completo, que incluye un montón de archivos Apache, sólo instalaremos php5-fpm, que luego instalará las dependencias necesarias de PHP. Además, necesitaremos php5-fpm como reserva para HHVM.

sudo apt-get install php5-fpm php5-mysql php5-curl

Cómo configurar la pila de LEMH (Linux, Nginx, MariaDB, HHVM) en el servidor Ubuntu


Una vez hecho esto, instale HHVM con los comandos:

wget -O - http://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 sudo apt-get install hhvm

Cómo configurar la pila de LEMH (Linux, Nginx, MariaDB, HHVM) en el servidor Ubuntu


Una vez instalado HHVM, proceda a configurarlo para Nginx con el comando:

sudo /usr/share/hhvm/install_fastcgi.sh

Cómo configurar la pila de LEMH (Linux, Nginx, MariaDB, HHVM) en el servidor Ubuntu


Por último, reinicie HHVM

Sudo servicio hhvm restart

Para comprobar si HHVM está funcionando, cree un archivo «phpinfo.php» en la carpeta raíz de Nginx.

sudo nano /var/www/html/phpinfo.php

y pegue la siguiente línea:

Pulse "Ctrl + o" para guardar y "Ctrl + x" para salir.

En su navegador, cargue la url: http://123.4.56.789/phpinfo.php (reemplace 123.4.56.789 con la dirección IP de su servidor). Deberías ver sólo la palabra "HipHop" para mostrar que HHVM está funcionando.

Configurar sitios para ejecutarse en Nginx y HHVM (con php5-fpm fallback)

Ahora que lo tiene todo configurado, es el momento de crear un host virtual para ejecutar su sitio web.

Cree un nuevo archivo de configuración que contenga los detalles de su sitio web:

sudo nano /etc/nginx/sites-available/my-site

y pegar el siguiente fragmento:

servidor {
Escucha 80;
escucha [::]:80;
root /var/www/html;
# Agregar index.php a la lista si está usando PHP
index index.html index.htm;
nombre_servidor mywebsite.com;
incluye hhvm-with-fallback.conf;
ubicación / {
# Primer intento de servir la petición como archivo, luego
# como directorio, y luego volver a mostrar un 404.
try_files $uri $uri/ =404;
}
# pasar los scripts PHP al servidor FastCGI escuchando en 127.0.0.0.1:9000
#
ubicación @fallback {
# include snippets/fastcgi-php.conf;
#
# Con php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
incluir fastcgi_params;
}
# denegar el acceso a los archivos.htaccess, si la raíz del documento de Apache
# concuerda con la de Nginx.
#
localización ~ /.ht {
negar todo;
}
}>

Puede cambiar el nombre_del_servidor para que apunte a su propio dominio y a la ubicación de la carpeta raíz donde desea que se sirvan los archivos.

HHVM tiene este error de bloquearse ocasionalmente sin reiniciarse; esto causará que el sitio web falle con un error de 500. En este caso, crearemos un sistema alternativo mediante el cual PHP5-FPM se hará cargo cuando HHVM falle. ¿Notas el bloque de ubicación @fallback en el fragmento de configuración de arriba? Esa es la llamada de vuelta cuando HHVM falla. Para completar la ecuación, todavía tenemos que crear el archivo «hhvm-with-fallback.conf» que es una versión modificada del archivo «hhvm.conf».

sudo nano /etc/nginx/hhvm-with-fallback.conf

Pegue el siguiente fragmento:

localización ~ .(hh|php)$ { proxy_intercept_errors on; error_page 500 501 502 503 = @fallback; fastcgi_keep_conn on; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; incluir fastcgi_params; }

>

Guarde y salga del archivo.

Por último, pruebe la configuración de Nginx con

sudo nginx -t

y si todo está bien, reinicia Nginx.

reinicio de nginx de servicio de persuasión

Eso es todo. Ha completado la configuración de la pila LEMH en su servidor Linux.

Fuente: este post proviene de Vida Tecno, donde puedes consultar el contenido original.
¿Vulnera este post tus derechos? Pincha aquí.
Creado:
¿Qué te ha parecido esta idea?

Esta idea proviene de:

Y estas son sus últimas ideas publicadas:

Etiquetas: Linux

Recomendamos

Relacionado

Linux

Si desea configurar un servidor web (o servidor de streaming) en su equipo Ubuntu, apache es un módulo importante que debe instalar. En este tutorial, le mostraremos cómo instalar y configurar apache para su Ubuntu. Nota : Si sólo quiere tener una configuración rápida del servidor LAMP, siga la guía aquí . Instalación de Apache Conseguir apache en su máquina Ubuntu es fácil. Utilizando el Synaptic ...

Linux

¿Alguna vez ha querido acceder a sus fotos desde cualquier lugar a través de la Web, pero no ha querido suscribirse a soluciones patentadas como Google Photos, Photo Bucket, etc.? Presentamos Lychee , una herramienta autohospedada que permite a los usuarios gestionar, subir y catalogar sus grandes colecciones de fotos. Funciona en cualquier servidor web que tenga Apache2 (o NGINX), PHP y MySQL. En ...

Linux

Este artículo forma parte de la serie Guía del servidor Apache : Securing Apache on Ubuntu – Part 1 Securing Apache on Ubuntu – Part 2 Optimización del rendimiento de Apache – Parte 1 Optimizando el rendimiento de Apache – Parte 2 Setting Up Name-Based Virtualhost Apache Configuración de IP y Port-Based Virtualhost en Apache Cómo configurar el directorio web de protecc ...

Linux

Si usted está comenzando una tienda en línea y está buscando un CMS de comercio electrónico para ejecutar su tienda, AbanteCart es un carrito de compras gratuito y software de código abierto que usted puede utilizar. Es fácil de configurar y usar y viene con extensiones para ampliar su funcionalidad. En este artículo aprenderá a instalar, configurar y utilizar AbanteCart en Ubuntu. Requisitos Como ...

Linux

AWStats es una herramienta de generación de informes de analítica web de código abierto que genera gráficamente estadísticas avanzadas de web, streaming, FTP o servidor de correo. Este analizador de registros funciona como un CGI o desde la línea de comandos y le muestra toda la información posible que su registro contiene en unas cuantas páginas web gráficas. Utiliza un archivo de información par ...

Linux

Si empezó a usar una distribución basada en RPM antes de avances como “yum” o “apt-rpm”, le encanta la magia de “apt-get” en Ubuntu y Debian. Pero cuando se trata de instalar grandes conjuntos de software, que pueden tener docenas (si no cientos) de paquetes, o aquellos que requieren una buena integración, a veces “apt-get” puede parecerse al viejo j ...

Linux

Linux Deepin es un hermoso Linux Distro basado en Ubuntu. Aunque hemos revisado Linux Deepin 11.12 y tiene muchos elogios por ello, la última versión 12.12 es aún mejor, más elegante y funciona mejor. Si no tiene intención de formatear su PC e instalar Linux Deepin desde cero, aquí está cómo puede instalar Linux Deepin Desktop en Ubuntu y acceder a él desde la pantalla de inicio de sesión. En su U ...

Linux

Samba es un servicio útil que se encuentra en la mayoría de los sistemas Unix y Linux y que le permite compartir archivos y servicios de impresión con otro ordenador, especialmente con un cliente de Microsoft Windows. En Ubuntu, aunque el gestor de archivos Nautiilus viene con una serie de protocolos de conexión para acceder a los archivos desde un servidor remoto, no convierte la máquina en un se ...

Linux

Una de las mayores ventajas de Ubuntu es la simplicidad del sistema de paquetes APT. Encuentra el programa de escritorio que desea, emite un comando y ya está listo para ejecutarse. Sin embargo, en el caso de las aplicaciones del lado del servidor, esta instalación de APT a veces sólo instala los archivos que necesitará para ejecutar el programa: tendrá que configurar y ejecutar el programa (a men ...

Linux

En Mac, la función QuickLook te permite previsualizar tus archivos sin abrirlos. Para usuarios de Linux, particularmente para aquellos con escritorio Gnome, también puede obtener una funcionalidad QuickLook similar en su escritorio con Gloobus-Preview . Gloobus-Preview es una extensión para el escritorio de Gnome diseñada para permitir una vista previa a pantalla completa de cualquier tipo de arch ...