Feature/translation EN > ES digital-ocean.es.md (#1044)

This commit is contained in:
TheHandyOwl 2025-01-14 23:04:24 +01:00 committed by GitHub
parent dc370aab51
commit 60857ebdbb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 184 additions and 1 deletions

View File

@ -0,0 +1,184 @@
# Despliegue en DigitalOcean
Esta guía te mostrará cómo desplegar una aplicación simple "Hola mundo" de Vapor en un [Droplet](https://www.digitalocean.com/products/droplets/). Para seguir esta guía, debes tener una cuenta de [DigitalOcean](https://www.digitalocean.com) con la facturación configurada.
## Crear Servidor
Comencemos por instalar Swift en un servidor Linux. Usa el menú de creación para crear un nuevo Droplet.
![Crear Droplet](../images/digital-ocean-create-droplet.png)
En distribuciones, selecciona Ubuntu 22.04 LTS. La siguiente guía utilizará esta versión como ejemplo.
![Distribución Ubuntu](../images/digital-ocean-distributions-ubuntu.png)
!!! note "Nota"
Puedes seleccionar cualquier distribución de Linux con una versión compatible con Swift. Puedes consultar qué sistemas operativos son compatibles oficialmente en la página [Versiones de Swift](https://swift.org/download/#releases).
Después de seleccionar la distribución, elije el plan y la región del centro de datos que prefieras. Luego, configura una clave SSH para acceder al servidor después de que se cree. Finalmente, haz clic en crear Droplet y espera a que se inicie el nuevo servidor.
Cuando el nuevo servidor esté listo, pasa el cursor sobre la dirección IP del Droplet y haz clic en copiar.
![Droplet List](../images/digital-ocean-droplet-list.png)
## Configuración Inicial
Abre tu terminal y conéctate al servidor como root usando SSH.
```sh
ssh root@your_server_ip
```
DigitalOcean tiene una guía detallada para la [configuración inicial del servidor en Ubuntu 22.04](https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-22-04). Esta guía cubrirá rápidamente los conceptos básicos.
### Configurar el Firewall
Permitir OpenSSH a través del firewall y habilitarlo.
```sh
ufw allow OpenSSH
ufw enable
```
### Añadir Usuario
Crea un nuevo usuario además de `root`. Esta guía llama al nuevo usuario `vapor`.
```sh
adduser vapor
```
Permite que el usuario recién creado use `sudo`.
```sh
usermod -aG sudo vapor
```
Copia las claves SSH autorizadas del usuario root al usuario recién creado. Esto te permitirá ingresar por SSH como el nuevo usuario.
```sh
rsync --archive --chown=vapor:vapor ~/.ssh /home/vapor
```
Finalmente, sal de la sesión SSH actual e inicia sesión como el usuario recién creado.
```sh
exit
ssh vapor@your_server_ip
```
## Instalar Swift
Ahora que has creado un nuevo servidor Ubuntu y has iniciado sesión como usuario no root, puedes instalar Swift.
### Instalación automática con la herramienta Swiftly CLI (recomendada)
Visita el [sitio web de Swiftly](https://swiftlang.github.io/swiftly/) para obtener instrucciones sobre cómo instalar Swiftly y Swift en Linux. Después de eso, instala Swift con el siguiente comando:
#### Uso Básico
```sh
$ swiftly install latest
Fetching the latest stable Swift release...
Installing Swift 5.9.1
Downloaded 488.5 MiB of 488.5 MiB
Extracting toolchain...
Swift 5.9.1 installed successfully!
$ swift --version
Swift version 5.9.1 (swift-5.9.1-RELEASE)
Target: x86_64-unknown-linux-gnu
```
## Instalar Vapor con Vapor Toolbox
Ahora que Swift está instalado, instalemos Vapor con Vapor Toolbox. Necesitarás compilar la toolbox desde el código fuente. Consulta las [versiones](https://github.com/vapor/toolbox/releases) de la toolbox en GitHub para encontrar la última versión. En este ejemplo, estamos usando 18.6.0.
### Clonar y Compilar Vapor
Clona el repositorio de Vapor Toolbox.
```sh
git clone https://github.com/vapor/toolbox.git
```
Consulta la última versión.
```sh
cd toolbox
git checkout 18.6.0
```
Compila Vapor y mueve el binario a tu ruta.
```sh
swift build -c release --disable-sandbox --enable-test-discovery
sudo mv .build/release/vapor /usr/local/bin
```
### Crear un Proyecto Vapor
Utiliza el nuevo comando de proyecto de la toolbox para iniciar un proyecto.
```sh
vapor new HelloWorld -n
```
!!! tip "Consejo"
El indicador `-n` brinda una plantilla básica al responder automáticamente "no" a todas las preguntas.
![Vapor Splash](../images/vapor-splash.png)
Una vez que finalice el comando, cambia a la carpeta recién creada:
```sh
cd HelloWorld
```
### Abrir Puerto HTTP
Para acceder a Vapor en tu servidor, abre un puerto HTTP.
```sh
sudo ufw allow 8080
```
### Ejecutar
Ahora que Vapor está configurado y tenemos un puerto abierto, ejecutémoslo.
```sh
swift run App serve --hostname 0.0.0.0 --port 8080
```
Visita la IP de tu servidor a través del navegador o terminal local y deberías ver "It works!". La dirección IP es `134.122.126.139` en este ejemplo.
```
$ curl http://134.122.126.139:8080
It works!
```
De vuelta a tu servidor, deberías ver los registros de la solicitud de prueba.
```
[ NOTICE ] Server starting on http://0.0.0.0:8080
[ INFO ] GET /
```
Usa `CTRL+C` para salir del servidor. Puede tomar un segundo apagarlo.
¡Felicitaciones por hacer que tu aplicación Vapor funcione en un Droplet de DigitalOcean!
## Próximos Pasos
El resto de esta guía indica recursos adicionales para mejorar tu despliegue.
### Supervisor
Supervisor es un sistema de control de procesos que puedes ejecutar y monitorear tu ejecutable de Vapor. Con la configuración de Supervisor, tu aplicación puede iniciarse automáticamente cuando se inicia el servidor y reiniciarse en caso de que falle. Obten más información sobre [Supervisor](../deploy/supervisor.md).
### Nginx
Nginx es un servidor y proxy HTTP extremadamente rápido, confiable y fácil de configurar. Si bien Vapor admite el servicio directo de solicitudes HTTP, el proxy detrás de Nginx puede proporcionar un mayor rendimiento, seguridad y facilidad de uso. Obten más información sobre [Nginx](../deploy/nginx.md).

View File

@ -129,7 +129,6 @@ vapor new HelloWorld -n
!!! tip
The `-n` flag gives you a bare bones template by automatically answering no to all questions.
![Vapor Splash](../images/vapor-splash.png)
Once the command finishes, change into the newly created folder: