mirror of https://github.com/vapor/docs.git
Feature/translation EN > ES digital-ocean.es.md (#1044)
This commit is contained in:
parent
dc370aab51
commit
60857ebdbb
|
|
@ -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.
|
||||
|
||||

|
||||
|
||||
En distribuciones, selecciona Ubuntu 22.04 LTS. La siguiente guía utilizará esta versión como ejemplo.
|
||||
|
||||

|
||||
|
||||
!!! 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.
|
||||
|
||||

|
||||
|
||||
## 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.
|
||||
|
||||

|
||||
|
||||
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).
|
||||
|
|
@ -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.
|
||||
|
||||
|
||||

|
||||
|
||||
Once the command finishes, change into the newly created folder:
|
||||
|
|
|
|||
Loading…
Reference in New Issue