En este instructivo, se muestra cómo usar Compute Engine para implementar Apache Web Server en una instancia de máquina virtual (VM). Si deseas obtener más información sobre las tecnologías que puedes usar para la entrega web en Google Cloud, consulta Elige una opción de hosting en Google Cloud.
Una VM en Compute Engine se puede controlar como cualquier servidor estándar de Linux. Implementa Apache Web Server para conocer los conceptos básicos de la ejecución de un servidor en una instancia de VM.
Requisitos previos
Para crear una VM de Linux que permita el tráfico HTTP, haz lo siguiente:
Crea una VM de Linux nueva. Si deseas obtener más información, consulta la Guía de inicio rápido para usar una VM de Linux.
- Opcional: Mientras creas una VM de Linux, puedes seleccionar la casilla de verificación Permitir tráfico HTTP a fin de abrir el puerto
tcp:80
para el tráfico y la casilla de verificación Permitir tráfico HTTPS a fin de abrir el puertotcp:443
. Sin embargo, si deseas abrir un puerto diferente, configura el firewall después de crear la VM y, luego, configura Apache para usar el firewall.
- Opcional: Mientras creas una VM de Linux, puedes seleccionar la casilla de verificación Permitir tráfico HTTP a fin de abrir el puerto
Conéctate a la VM de Linux. Para obtener más información, consulta Conéctate a la instancia de VM.
Instala Apache
- En la consola de Google Cloud, ve a la página Instancias de VM.
- Para conectarte a la VM de Linux que acabas de crear, haz clic en SSH en la fila de la VM.
Para actualizar los paquetes disponibles y, luego, instalar el paquete
apache2
, usa el administrador de paquetes del sistema de ese sistema operativo. Si seguiste la guía de inicio rápido, se creará una VM de Ubuntu. Para actualizar una VM de Ubuntu, ejecuta el siguiente comando:sudo apt update && sudo apt -y install apache2
Después de instalar Apache, el sistema operativo inicia el servidor Apache de forma automática.
Verifica que Apache esté en ejecución:
sudo systemctl status apache2
Reemplaza la página web predeterminada de Apache Web Server:
echo '<!doctype html><html><body><h1>Hello World!</h1></body></html>' | sudo tee /var/www/html/index.html
Probar el servidor
Verifica que tu VM entregue tráfico en su IP externa.
- En la consola de Google Cloud, ve a la página Instancias de VM.
- Haz clic en la IP externa de tu instancia en la columna de IP externa.
- En el navegador, ve a
http://[EXTERNAL_IP]
. No te conectes mediantehttps
porque esto hace que el servidor muestre un errorConnection Refused
.
Debería ver la página "Hello World!".
Limpia
Para evitar que se apliquen cargos por la VM una vez que termines de experimentar, bórrala. Para obtener más información, consulta Cómo realizar una limpieza.
Soluciona problemas
Cuando recibes un error Connection Refused
Si te aparece un error Connection Refused
, es posible que se den estas situaciones:
Tu instancia de VM no es accesible a nivel público porque la configuración de tus etiquetas o reglas de firewall tiene alguno de los errores siguientes:
- La instancia de VM no tiene la etiqueta correspondiente que permite que Compute Engine aplique las reglas de firewall adecuadas a tu instancia.
- Tu proyecto no tiene una regla de firewall que permita dirigir el tráfico a la dirección IP externa de tu instancia.
Intentas acceder a la VM mediante una dirección
https
. Verifica que la URL seahttp://[EXTERNAL_IP]
y nohttps://[EXTERNAL_IP]
.
Para asegurarte de que la instancia de VM tenga las etiquetas correctas, sigue estos pasos:
- En la consola de Google Cloud, ve a la página Instancias de VM.
- Haz clic en el nombre de la instancia a la que intentas conectarte.
- Haz clic en Editar, en la parte superior de la página.
- Desplázate hasta Firewalls y asegúrate de que la casilla Permitir tráfico HTTP esté marcada. Si no lo está, márcala.
- Guarda los cambios. Esto garantiza que se agreguen las etiquetas correctas a la instancia de VM.
Para asegurarte de que exista la regla de firewall correcta, sigue estos pasos:
- En la consola de Google Cloud, ve a la página Reglas de firewall.
- Busca una regla de firewall que permita todos los rangos de IP a través de tcp:80. Por lo general, esta regla se llama
default-allow-http
. - Si no existe la regla, créala.
- Haz clic en Crear regla de firewall.
- Ingresa un nombre para la regla, como
default-allow-http
. - En Rangos de IP de origen, ingresa
0.0.0.0/0
para permitir el tráfico desde todas las fuentes. - En Protocolos y puertos, marca la opción Protocolos y puertos especificados y, luego, ingresa
tcp:80
. - Crea tu regla de firewall.
Dirígete a la dirección IP externa de la instancia para probar tu servidor de nuevo:
http://[EXTERNAL_IP]
¿Qué sigue?
Obtén más información sobre cómo alojar un sitio web en Compute Engine.
Obtén información sobre cómo configurar LAMP en Google Compute Engine.
Pruébalo tú mismo
Si es la primera vez que usas Google Cloud, crea una cuenta para evaluar el rendimiento de Compute Engine en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
Probar Compute Engine gratis