Implantação de aplicação Swift em VPS: guia passo a passo

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Implantação de aplicação Swift em VPS: guia passo a passo



O desenvolvimento de aplicações server-side em Swift está ganhando popularidade rapidamente graças ao framework Vapor. No entanto, muitos desenvolvedores iOS/macOS enfrentam dificuldades ao transferir uma aplicação pronta para um servidor remoto. Neste guia, vamos detalhar como implantar uma aplicação Swift em VPS, configurar o ambiente e garantir uma operação estável em ambiente de produção.



1. Preparação do servidor VPS para Swift



O primeiro passo é alugar um VPS (recomenda-se Ubuntu 22.04 LTS) e conectar-se a ele via SSH. Após o login, execute a atualização do sistema:



sudo apt update && sudo apt upgrade -ysudo apt install curl git clang libicu-dev libcurl4-openssl-dev libssl-dev -y


Para instalar o Swift no Linux, use o script oficial da Apple:



wget https://swift.org/builds/swift-5.9-release/ubuntu2204/swift-5.9-RELEASE/swift-5.9-RELEASE-ubuntu22.04.tar.gztar xzf swift-5.9-RELEASE-ubuntu22.04.tar.gzsudo mv swift-5.9-RELEASE-ubuntu22.04 /usr/share/swiftecho 'export PATH=/usr/share/swift/usr/bin:$PATH' >> ~/.bashrcsource ~/.bashrcswift --version


Verifique se o Swift foi instalado corretamente — você deve ver a versão do compilador.



2. Compilação da aplicação Swift (Vapor) no servidor



Copie o código-fonte do seu projeto para o servidor. O mais conveniente é usar Git:



git clone https://github.com/seu-projeto/seu-repositorio.gitcd seu-repositorio


Compile o projeto em modo release. Isso criará um binário otimizado:



swift build -c releasecp .build/release/Run /usr/local/bin/myapp


Se você estiver usando Vapor, certifique-se de que no arquivo configure.swift a porta correta esteja configurada (geralmente 8080). Exemplo de configuração:



import Vapor

public func configure(_ app: Application) throws { app.http.server.configuration.hostname = "0.0.0.0" app.http.server.configuration.port = 8080 // Registro de rotas try routes(app)}


Verifique o funcionamento da aplicação executando-a manualmente:



myapp --env production serve


Se a aplicação iniciar e responder às requisições, pode-se prosseguir para a configuração do daemon.



3. Configuração do systemd para inicialização automática



Para que a aplicação inicie automaticamente ao reiniciar o servidor, crie um serviço systemd:



sudo nano /etc/systemd/system/swift-app.service


Insira o seguinte código:



[Unit]Description=Swift Vapor ApplicationAfter=network.target

[Service]Type=simpleUser=www-dataWorkingDirectory=/var/www/myappExecStart=/usr/local/bin/myapp --env production serveRestart=on-failureRestartSec=10

[Install]WantedBy=multi-user.target


Salve o arquivo e ative o serviço:



sudo systemctl daemon-reloadsudo systemctl enable swift-appsudo systemctl start swift-appsudo systemctl status swift-app


Se o status mostrar active (running) — está tudo funcionando.



4. Configuração do Nginx como reverse proxy



Para ambiente de produção, recomenda-se usar Nginx para fazer proxy das requisições para a aplicação Swift. Isso garante balanceamento de carga e suporte a SSL:



sudo apt install nginx -ysudo nano /etc/nginx/sites-available/swift-app


Exemplo de configuração:



server {    listen 80;    server_name seu-dominio.com;

location / { proxy_pass http://127.0.0.1:8080; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; }

location /static/ { root /var/www/myapp/Public; expires 3

Blogs

Book Recommendations