Implantação de aplicação Swift em VPS: guia avançado

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 para avançados

Você criou uma excelente aplicação servidor em Swift usando o framework Vapor. Agora é necessário colocá-la em produção. A implantação de uma aplicação Swift em VPS requer compreensão das especificidades do funcionamento do Swift no Linux, configuração do ambiente servidor e uso das ferramentas corretas para garantir estabilidade e desempenho. Neste guia avançado, abordaremos o ciclo completo: desde a compilação para Linux até a configuração de CI/CD, trabalho com Docker e Supervisor.



1. Preparação do servidor e compilação do Swift para Linux

A primeira coisa a entender: Swift no macOS e no Linux são ecossistemas diferentes. Para implantação em VPS (Ubuntu 22.04 LTS), é necessária compilação cruzada ou compilação diretamente no servidor. Recomenda-se compilar no servidor para evitar problemas com bibliotecas.



1.1 Instalação do Swift no Ubuntu

Conecte-se ao servidor via SSH e instale as dependências necessárias:

sudo apt updatesudo apt install -y curl git clang libicu-dev libcurl4-openssl-dev libssl-dev \    libsqlite3-dev libxml2-dev pkg-config uuid-dev

# Baixe a versão mais recente do Swift Toolchainwget https://download.swift.org/swift-5.9.2-release/ubuntu2204/swift-5.9.2-RELEASE/swift-5.9.2-RELEASE-ubuntu22.04.tar.gztar -xzf swift-5.9.2-RELEASE-ubuntu22.04.tar.gzsudo mv swift-5.9.2-RELEASE-ubuntu22.04 /usr/share/swift

# Adicione ao PATHecho 'export PATH=/usr/share/swift/usr/bin:$PATH' >> ~/.bashrcsource ~/.bashrcswift --version


1.2 Clonagem e compilação do projeto

Clone o repositório e compile a versão de lançamento da aplicação:

git clone https://github.com/your-username/your-swift-app.gitcd your-swift-appswift build --configuration release

Após a compilação bem-sucedida, o binário estará em .build/release/YourApp. Verifique sua execução manualmente:

./.build/release/YourApp serve --hostname 0.0.0.0 --port 8080


2. Configuração do ambiente de produção: Nginx e Supervisor

Executar a aplicação Swift diretamente na porta 80 é uma má prática. Use a combinação Nginx (proxy reverso) + Supervisor (gerenciador de processos).



2.1 Configuração do Nginx

Instale o Nginx e crie uma configuração para proxy de requisições para sua aplicação Swift:

sudo apt install nginxsudo nano /etc/nginx/sites-available/yourapp

Conteúdo do arquivo:

server {    listen 80;    server_name yourdomain.com www.yourdomain.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; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; }

# Configuração para arquivos grandes (se necessário) client_max_body_size 50m;}

Ative a configuração e verifique:

sudo ln -s /etc/nginx/sites-available/yourapp /etc/nginx/sites-enabled/sudo nginx -tsudo systemctl restart nginx


2.2 Configuração do Supervisor para reinicialização automática

O Supervisor monitorará o processo e o reiniciará em caso de falha. Instale e crie a configuração:

sudo apt install supervisorsudo nano /etc/supervisor/conf.d/yourapp.conf

Conteúdo da configuração:

[program:yourapp]command=/home/ubuntu/your-swift-app/.build/release/YourApp serve --hostname 0.0.0.0 --port 8080directory=/home/ubuntu/your-swift-appuser=ubuntuautostart=trueautorestart=truestartretries=3stderr_logfile=/var/log/yourapp.err.logstdout_logfile=/var/log/yourapp.out.logenvironment=ENVIRONMENT="producti                

Blogs

Book Recommendations