O que vem instalado no seu servidor Python?
- Python 3.12 do repositório do Ubuntu 24.04
- Um ambiente virtual em /home/app/uygulama/venv
- Gunicorn 26 com 2 workers em 127.0.0.1:8000
- Um serviço systemd chamado uygulama que inicia junto com o servidor e reinicia se travar
- HTTPS pelo Caddy em um endereço sslip.io baseado no seu IP, então um domínio é opcional
- Um usuário app sem privilégios, para que seu código não rode como root
- Firewall com apenas as portas 22, 80 e 443 abertas
Qual tamanho você precisa para Python?
A documentação do Python não informa um valor de RAM, porque o seu app é que define o que ele precisa. O Gunicorn carrega seu app em um processo separado para cada worker, então a memória cresce com o número de workers. O Gunicorn sugere começar com (2 x núcleos) + 1 workers, e esta instalação roda 2. Como regra prática, 1 GB é um bom começo para uma API pequena, e de 2 a 4 GB para vários workers ou pacotes pesados. Se não for suficiente, aumente RAM, CPU e disco separadamente pelo painel, e seus dados e seu endereço IP continuam os mesmos.
| Uso | Tamanho | Preço | Escolher |
|---|---|---|---|
| Inicial | 1 GB RAM · 1 vCore · 25 GB NVMe | $2.58/mês | |
| Médio | 2 GB RAM · 1 vCore · 40 GB NVMe | $4.01/mês | |
| Potente | 4 GB RAM · 2 vCore · 60 GB NVMe | $6.89/mês |
Para quem é?
- Desenvolvedores que publicam uma API ou app web com Flask ou FastAPI
- Projetos que bateram nos limites de versão do Python ou de pacotes na hospedagem compartilhada
- Quem roda em um servidor próprio um app Python criado com ferramentas de IA
- Quem executa processamento de dados, automações ou scripts agendados
O que acontece depois do pedido?
- Defina o tamanho e conclua o pagamento.
- Seu servidor inicia e o Python e o Gunicorn se instalam sozinhos. Nos nossos testes em servidores reais, isso levou cerca de 3 minutos.
- Abra o Endereço do site na aba Visão geral. A página de exemplo mostra a versão do Python.
- Conecte-se por SSH, digite su - app, vá para a pasta com cd ~/uygulama e leve seu código para lá, por exemplo com git clone.
- Instale suas dependências: venv/bin/pip install -r requirements.txt
- Faça o wsgi.py fornecer o objeto da sua aplicação como app, volte para o root com exit e execute systemctl restart uygulama.
Em todo servidor
- Backup diário incluído no preço
- Tráfego ilimitado
- Acesso root completo
- Aumente ou reduza RAM e CPU depois, e aumente o disco
- Localização: Istanbul · IST-1.
Bom saber
- O Gunicorn executa wsgi:app. Para outro módulo, altere a linha ExecStart em /etc/systemd/system/uygulama.service e execute systemctl daemon-reload.
- Aumentar o servidor não adiciona workers sozinho. Você altera o valor de --workers no mesmo arquivo de serviço.
- Para compilar extensões em C, execute apt install build-essential python3-dev como root.
- As atualizações de segurança do Ubuntu e do Python se instalam sozinhas. Os pacotes pip do seu ambiente virtual você atualiza por conta própria.
- Seu app deve escutar em 127.0.0.1:8000, e o Caddy cuida do endereço público. Abrir o Gunicorn para fora ignora o HTTPS.
- Se não for possível emitir um certificado, o site abre por http no seu endereço IP.
Perguntas e respostas sobre Python
Como faço o deploy do meu app Flask?
Coloque seu código em ~/uygulama e instale as dependências com venv/bin/pip. Faça o wsgi.py fornecer seu app como app e execute systemctl restart uygulama como root. Ou troque wsgi:app na linha ExecStart por project:app, ou project:create_app() para uma app factory, e execute systemctl daemon-reload.
O FastAPI roda neste servidor?
Sim. O FastAPI usa ASGI, e o worker ASGI embutido do Gunicorn cuida dele. Na linha ExecStart, troque wsgi:app por --worker-class asgi main:app e depois execute systemctl daemon-reload e systemctl restart uygulama. Mantenha o endereço de bind em 127.0.0.1:8000.
De quanta RAM preciso para hospedar Python?
O Python não tem um valor oficial de RAM, já que seu app e o número de workers é que decidem. Como regra prática, 1 GB é um bom começo para uma API pequena, e de 2 a 4 GB para vários workers ou pacotes de ciência de dados.
Posso mudar a versão do Python?
O servidor vem com o Python 3.12 do Ubuntu 24.04. Você tem acesso root, então pode instalar outra versão também. Recrie o ambiente virtual com essa versão e depois reinstale seus pacotes e o Gunicorn.
Meu app para quando eu saio do SSH?
Não. Seu código Python roda como um serviço systemd chamado uygulama. Ele continua rodando depois que você sai e volta sozinho se travar ou se o servidor reiniciar. Você pode ler a saída dele com journalctl -u uygulama.
Este servidor serve para Django?
Sim. O Gunicorn também roda o Django, então você colocaria project.wsgi:application na linha ExecStart. Se preferir ter o Django e as configurações dele instalados para você, veja a opção de servidor Django.