Cómo crear un entorno y servidor de desarrollo web virtual

  • Owen Little
  • 0
  • 3926
  • 1058
Anuncio

Windows y Mac OSX han estado progresando como sistemas operativos amigables para los desarrolladores durante los últimos años, pero cada desarrollador web realmente necesita trabajar en el entorno nativo de la web, Linux.

Este artículo le mostrará cómo obtener lo mejor de ambos mundos: apegarse a un sistema operativo estable y amigable para el consumidor como Windows u OSX para sus necesidades diarias, mientras cosecha los beneficios de desarrollar en el mismo ecosistema que su código de producción.

Introducción

Gran parte de la web funciona con lo que los desarrolladores llaman “Pila LAMP.” Este acrónimo significa Linux, Apache, MySQL, PHP agrupados y funcionando como lo que normalmente se entiende como un servidor web. (Una pila estrechamente relacionada, o un conjunto de tecnologías, es “LEMP,” con el “mi” derivado de la pronunciación de una alternativa a Apache, Nginx, que se dice “motor x.”)

Puede notar que Linux se incluye explícitamente aquí, pero no es solo por esta razón que los desarrolladores recomiendan Linux. Las otras tecnologías, Apache (o Nginx), MySQL y PHP, tienen diferentes herramientas e implementaciones disponibles para las diferentes plataformas, pero por razones históricas y técnicas, las configuraciones basadas en Linux dominan el espacio del servidor y tienden a ser más predecibles..

La previsibilidad y la confiabilidad también son grandes razones por las que desearía desarrollar en un sistema operativo que use únicamente para ese propósito: un sistema operativo dedicado en lugar de uno que respalde la gran cantidad de tareas que realiza diariamente como desarrollador web. Dicho de otra manera, no desea ejecutar un servidor en el mismo sistema operativo, tendrá que reiniciar cuando se instalen sus nuevos controladores de gráficos, o una máquina que necesitará empacar y colocar en una mochila para golpear el camino con. Involucrar los procesos y el software necesarios para ejecutar un servidor en su máquina de uso mixto es, en una palabra, desordenado.

Entonces, ¿cómo equilibra su capacidad para realizar múltiples tareas con su necesidad de desarrollar en el contexto nativo de sus aplicaciones??

Entrar en máquinas virtuales ¿Qué es una máquina virtual? Todo lo que necesita saber ¿Qué es una máquina virtual? Todo lo que necesita saber Las máquinas virtuales le permiten ejecutar otros sistemas operativos en su computadora actual. Esto es lo que debes saber sobre ellos. .

Máquinas virtuales y vagabundos

Las máquinas virtuales son programas que se ejecutan en su sistema operativo principal. Efectivamente le permiten ejecutar un sistema operativo completamente separado dentro de una ventana, totalmente contenido y aparte de cualquier otra cosa que esté sucediendo con su máquina física, pero a costa de algunos gastos generales..

Sin embargo, las ventajas son muchas:

  • ¿Comete un error al instalar, configurar o eliminar software? No es gran cosa, simplemente puede comenzar de nuevo con una imagen nueva.
  • ¿Su experimento falló catastróficamente y congeló el sistema operativo que lo rodea? Nuevamente, no es un problema porque solo se efectúa la máquina virtual.
  • ¿Necesita iterar en condiciones ligeramente diferentes? Cada conjunto de condiciones, como diferentes versiones de software o software diferente (por ejemplo, usando Apache versus Nginx), puede convertirse en una máquina de software separada o virtual “caja.”

Una herramienta llamada Vagrant lo ayudará a implementar “cajas base” que contienen sistemas operativos Linux preconfigurados en una variedad de sabores.

Este artículo asume que tiene cierta comodidad al operar una máquina virtual sin una GUI, y únicamente mediante una interfaz de línea de comandos (CLI).

Consigamos un proveedor de máquinas virtuales y Vagrant antes de configurar un cuadro base.

  1. Asegúrese de tener un proveedor de máquina virtual para su sistema operativo. Tanto Windows como Mac OSX pueden usar Virtual Box. VMware también se ejecuta en ambas plataformas. (Windows 10 Pro y superior pueden usar Hyper V ¿Una actualización de Windows 10 Pro vale $ 99? ¿Una actualización de Windows 10 Pro vale $ 99? Windows 10 Pro ofrece más funciones, pero también tiene un precio de $ 99 para actualizar desde la edición Home. Aquí está lo que necesita saber para decidir si las características profesionales valen la pena la actualización, lo cual es un paso adelante porque utiliza mejor el hardware).
  2. Visite Vagrantup.com y elija un instalador apropiado..
  3. En su estructura de árbol de directorio local, cree una nueva carpeta para alojar el cuadro. (Las ubicaciones subordinadas a su perfil de usuario funcionan bien, las ubicaciones dentro de los directorios del sistema generalmente no lo hacen).

La configuración del entorno de desarrollo web

Aquí es donde sucede la magia de la automaticidad: una herramienta llamada PuPHPet condensa y GUI ajusta el proceso de selección y configuración de software comúnmente utilizado en LAMP, e incluso va más allá al agregar soporte para lenguajes del lado del servidor como Ruby y Node.js ¿Qué es? Node.JS y ¿Por qué debería importarme? [Desarrollo web] ¿Qué es Node.JS y por qué debería importarme? [Desarrollo web] JavaScript es solo un lenguaje de programación del lado del cliente que se ejecuta en el navegador, ¿verdad? Ya no. Node.js es una forma de ejecutar JavaScript en el servidor; Pero es mucho más también. Si ... (técnicamente, JavaScript no es solo del lado del servidor, pero esta variedad lo es), y alternativas a los otros componentes de la pila LAMP.

PuPHPet crea archivos de configuración base para Vagrant. El asistente incluye más de veinte dimensiones diferentes para configurar, por lo que solo repasaré algunas de las más destacadas..

  • Objetivo de implementación - Aquí puede elegir si desea crear una imagen adecuada para VirtualBox, VMWare y similares, o una que sea adecuada para infraestructura de computación en la nube como AWS o Digital Ocean, entre otras.
  • Sistema> Paquetes - Puede incluir aquí cualquier software que instale como lo haría en una instalación normal. En particular, debe incluir los paquetes que utiliza para el desarrollo que se incluyen en la base de la distribución del sistema operativo.
    • Para incluir dependencias de desarrollo para Ubuntu, especifique elementos esenciales de construcción
    • Para incluir lo mismo para CentOS 7, especifique "Herramientas de desarrollo"
  • Servidores web - Elija Apache o Nginx para formar la columna vertebral de su pila L (A | E) MP.
  • Idiomas - PHP, Ruby, Node.js, Python.
  • Bases de datos - Quizás una de las características más atractivas de este enfoque es la capacidad de construir máquinas virtuales para jugar con las diferentes variedades de bases de datos disponibles. Si bien MySQL es un valor predeterminado, es posible que desee jugar con algo más nuevo como MariaDB Open Source Software y Forking: The Good, The Great and The Ugly Software de código abierto y Forking: The Good, The Great and The Ugly A veces, el usuario final se beneficia enormemente de las horquillas. A veces, la bifurcación se realiza bajo un manto de ira, odio y animosidad. Veamos algunos ejemplos.. .
  • El resto de las opciones son algo exóticas, y si no sabe cuáles son, siempre se pueden instalar más tarde. Lo que tienes, después de todo, es un sistema operativo completo a tus órdenes..

PuPHPet, al final de este viaje de configuración, producirá un archivo. Descomprímalo en el directorio que creó antes de configurar los parámetros de su nuevo servidor.

Ahora, ejecute lo siguiente:

$ vagabundo

Y observe los resultados:

Como no tiene el cuadro base en su directorio local, vagabundo recuperará la imagen del Atlas, un repositorio de cuadros vagabundos preconfigurados.

(Técnicamente, cualquiera de estos puede agregarse a su máquina local emitiendo el comando: $ caja vagabundo agregar USUARIO / CAJA)

Terminando

En este punto, su VM se inicia y básicamente está en línea. Solo queda una cosa: emitir el comando $ vagabundo ssh para caer en una sesión SSH adecuada con su VM (sin cabeza) actuando como un servidor LAMP. Felicidades!

Aprende más

A partir de aquí, hay más que decir y hacer en Vagrant y, como saben, una cantidad ilimitada para lograr con su propio campo de desarrollo. Consulte la Guía de inicio oficial para retomar donde la dejé..

¿Alguna vez ha usado una VM para su propio entorno de desarrollo? ¿Usó esta configuración o adoptó un enfoque diferente? Comparte tus ideas en la sección de comentarios a continuación!




Nadie ha comentado sobre este artículo todavía.

Sobre tecnología moderna, simple y asequible.
Tu guía en el mundo de la tecnología moderna. Aprenda a usar las tecnologías y los dispositivos que nos rodean todos los días y aprenda a descubrir cosas interesantes en Internet.