Esta guía es para aquellos interesados en auto-alojar un sitio de Discourse en Azure y les guiará a través de los detalles iniciales del Portal de Azure necesarios para crear su VM de Linux, para que luego puedan seguir la guía de instalación en la nube estándar que es agnóstica al proveedor de alojamiento web. Si no está interesado en el auto-alojamiento pero desea que nosotros alojemos su foro de Discourse, por favor regístrese aquí.
1) Crear un Grupo de Recursos
Antes de crear la VM, creemos un Grupo de Recursos. Aquí es donde residirá todo lo relacionado con su sitio de Discourse, como los discos de almacenamiento de su VM, la red, los grupos de seguridad, el almacenamiento de blobs, etc. Para crear un Grupo de Recursos, haga clic en el signo más verde y seleccione Grupo de Recursos, luego complete el campo “Nombre del grupo de recursos”, seleccione su “Suscripción” y su “Ubicación del grupo de recursos”, y luego presione “Crear”.
2) Crear la VM de Linux
Vamos a crear una VM de Ubuntu 16.04 LTS para esta guía. Para ello, haga clic nuevamente en el signo más verde y luego busque “Ubuntu Server 16.04 LTS”; debería aparecer como una de las VM disponibles.
Seleccionela y asegúrese de que el modelo de implementación esté en “Administrador de recursos” y luego haga clic en “Crear”.
3) Configurar la configuración básica
Ahora debería estar en la pestaña “Básico” de “Crear una máquina virtual”. Complete todos los campos requeridos para configurar la VM. Seleccione el grupo de recursos “discourse” que creamos anteriormente, asigne un nombre a su VM como “discourse” y elija la Región que desea utilizar.
Aún en la misma pestaña “Básico”, deberá elegir el tamaño de su VM. Por defecto es un “Standard D2s v3” que tiene 8 GB de memoria y cuesta $71.42 al mes, así que asegúrese de seleccionar “Cambiar tamaño” y elegir un tamaño de VM apropiado para su carga de trabajo.
Para el mínimo absoluto, deberá seleccionar la opción “B1ms” con 2 GB de RAM. La “B1s”, aunque se anuncia con 1 GB, solo ofrece alrededor de 800 MB de RAM a nivel del sistema operativo y simplemente no queda suficiente para ejecutar Discourse correctamente. La “B1ms” costará $17.11 al mes.
Ahora complete el nombre de usuario de Linux y cargue su clave pública SSH. Alternativamente, puede configurar un inicio de sesión basado en contraseña, pero se prefiere el inicio de sesión basado en clave SSH.
Ahora necesitamos asegurarnos de tener acceso web y SSH a la máquina seleccionando el botón de opción “Permitir puertos seleccionados” y eligiendo HTTP, HTTPS y SSH en el menú desplegable “Seleccionar puertos de entrada”. Una vez completada la configuración, es una buena idea limitar el acceso SSH solo a su dirección IP.
Seleccione “Revisar + crear”. Verifique que todo esté correcto en la página de Resumen y luego presione “Crear”. La creación de la VM tomará varios minutos.
4) Conectarse por SSH a la VM
Necesitaremos acceso a la línea de comandos para configurar el intercambio (swap) e instalar Discourse. Una vez creada la VM, debería poder seleccionarla desde el portal de Azure y en la pantalla de “Resumen” se mostrará la dirección IP pública. Abra su terminal y conéctese por SSH a la VM con el nombre de usuario que especificó en el paso 3 de esta guía.
Si no está seguro de cómo conectarse por SSH a la VM, puede utilizar alternativamente la “Consola en serie” dentro del Portal de Azure seleccionando la VM y, en la parte inferior de la navegación a la izquierda, seleccionar “Consola en serie”.
Esto abrirá una shell donde podrá escribir su nombre de usuario y contraseña que especificó antes de crear la VM. Si no está seguro de cuál es su contraseña, puede utilizar la opción “Restablecer contraseña”.
Ahora debería estar en una terminal donde pueda escribir comandos:
5) Configurar el intercambio (Swap)
Cada VM de Azure viene con un disco temporal separado de su disco del sistema operativo y generalmente está montado en /dev/sdb1. Debe asegurarse de que su intercambio (swap) esté configurado en este disco temporal y no en su disco del sistema operativo, porque:
Esta unidad de almacenamiento temporal está presente en la máquina física que aloja su VM y, por lo tanto, puede tener IOPS más altos y menor latencia en comparación con el almacenamiento persistente como el disco de datos. - Comprender la unidad temporal en las máquinas virtuales de Azure
Edite el archivo /etc/waagent.conf y actualice las siguientes líneas:
ResourceDisk.Format=y
ResourceDisk.EnableSwap=y
ResourceDisk.SwapSizeMB=2048
Nota: Si ya tiene un intercambio configurado en la unidad del sistema operativo (tal vez porque ./discourse-setup lo configuró por usted), puede desactivarlo comentando la línea /swapfile en /etc/fstab.
Si no está seguro de cómo editar el archivo /etc/waagent.conf con un editor de línea de comandos como vim, simplemente puede copiar y pegar el siguiente comando en su terminal y presionar Enter:
sudo sed -i '/ResourceDisk.Format=n/c\\ResourceDisk.Format=y' /etc/waagent.conf && sudo sed -i '/ResourceDisk.EnableSwap=n/c\\ResourceDisk.EnableSwap=y' /etc/waagent.conf && sudo sed -i '/ResourceDisk.SwapSizeMB=0/c\\ResourceDisk.SwapSizeMB=2048' /etc/waagent.conf
Es posible que le pida su contraseña si esta es la primera vez que ejecuta un comando sudo.
Luego, reinicie su VM con sudo shutdown -r now.
Para verificar que el intercambio está funcionando, vuelva a iniciar sesión en su VM y escriba swapon --show y debería ver algo como:
root@azure:~# swapon --show
NAME TYPE SIZE USED PRIO
/mnt/swapfile file 2G 0B -2
Note que el archivo de intercambio está ubicado dentro de /mnt, lo cual es bueno porque esta es nuestra unidad temporal.
También puede escribir free -h y ver algo como:
root@azure:~# free -h
total used free shared buff/cache available
Mem: 1.9G 174M 1.5G 3.0M 172M 1.5G
Swap: 2.0G 0B 2.0G
El intercambio debería tener algo en la columna total, lo que significa que se ha configurado.
6) Instalar Discourse
Ahora que nuestra VM de Linux ha sido creada en Azure y tenemos una partición de intercambio, es el momento de seguir la Guía Oficial de Instalación en la Nube.
7) Instalar el complemento de Almacenamiento de Blobs de Azure (Opcional)
Ahora que Discourse está instalado, puede seguir las instrucciones de instalación en el tema del Complemento de Almacenamiento de Blobs de Azure. Instalar y habilitar este complemento hará que las imágenes que los usuarios suban se almacenen en el almacenamiento de blobs en lugar de en su VM de Linux, lo cual debería ayudar con el rendimiento y evitar que el disco del sistema operativo se llene.









