O que vem instalado no 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 arranca com o sistema e reinicia se falhar
- HTTPS através do Caddy num endereço sslip.io baseado no seu IP, pelo que o domínio é opcional
- Um utilizador app sem privilégios, para que o seu código não corra como root
- Firewall com apenas as portas 22, 80 e 443 abertas
Que tamanho é necessário para o Python?
A documentação do Python não indica um valor de RAM, porque é a sua aplicação que decide o que precisa. O Gunicorn carrega a aplicação num processo separado para cada worker, pelo que 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 executa 2. Como regra geral, 1 GB é um bom ponto de partida para uma API pequena, e 2 a 4 GB para vários workers ou pacotes pesados. Se não chegar, aumente a RAM, o CPU e o disco em separado a partir do painel, e os seus dados e o endereço IP mantêm-se.
| Utilização | 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 é?
- Programadores que publicam uma API ou aplicação web com Flask ou FastAPI
- Projetos que atingiram limites de versão do Python ou de pacotes no alojamento partilhado
- Quem executa no seu próprio servidor uma aplicação Python criada com ferramentas de IA
- Quem executa processamento de dados, automatização ou scripts agendados
O que acontece depois de encomendar?
- Defina o tamanho e conclua o pagamento.
- O seu servidor arranca e o Python e o Gunicorn instalam-se sozinhos. Nos nossos testes em servidores reais, demorou cerca de 3 minutos.
- Abra o Endereço do site no separador Resumo. A página de exemplo mostra a versão do Python.
- Ligue-se por SSH, escreva su - app, vá para a pasta com cd ~/uygulama e traga o seu código, por exemplo com git clone.
- Instale as dependências: venv/bin/pip install -r requirements.txt
- Faça com que o wsgi.py forneça o objeto da sua aplicação como app, volte a root com exit e execute systemctl restart uygulama.
Em todos os servidores
- Cópias de segurança diárias incluídas no preço
- Tráfego ilimitado
- Acesso root completo
- Aumentar ou reduzir a RAM e o CPU mais tarde, e fazer crescer 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 tamanho não acrescenta workers sozinho. Altera o valor de --workers no mesmo ficheiro 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 instalam-se sozinhas. Os pacotes pip do seu ambiente virtual são atualizados por si.
- A sua aplicação deve escutar em 127.0.0.1:8000, e o Caddy trata do endereço público. Abrir o Gunicorn para o exterior contorna o HTTPS.
- Se não for possível emitir um certificado, o site abre em http no seu endereço IP.
Python: perguntas e respostas
Como implemento a minha aplicação Flask?
Coloque o seu código em ~/uygulama e instale as dependências com venv/bin/pip. Faça com que o wsgi.py forneça a aplicação como app e depois execute systemctl restart uygulama como root. Ou substitua wsgi:app na linha ExecStart por project:app, ou project:create_app() para uma fábrica de aplicações, e execute systemctl daemon-reload.
O FastAPI funciona neste servidor?
Sim. O FastAPI usa ASGI, e o worker ASGI integrado do Gunicorn trata dele. Na linha ExecStart, substitua wsgi:app por --worker-class asgi main:app e depois execute systemctl daemon-reload e systemctl restart uygulama. Mantenha o endereço de ligação em 127.0.0.1:8000.
De quanta RAM preciso para alojamento Python?
O Python não tem um valor oficial de RAM, porque depende da aplicação e do número de workers. Como regra geral, 1 GB é um bom ponto de partida para uma API pequena, e 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. Tem acesso root, por isso pode instalar também outra versão. Recrie o ambiente virtual com essa versão e depois reinstale os pacotes e o Gunicorn.
A minha aplicação para quando termino a sessão SSH?
Não. O seu código Python corre como um serviço systemd chamado uygulama. Continua a funcionar depois de terminar a sessão e volta a arrancar se falhar ou se o servidor reiniciar. Pode ler a respetiva saída com journalctl -u uygulama.
Este servidor serve para Django?
Sim. O Gunicorn também executa o Django, por isso colocaria project.wsgi:application na linha ExecStart. Se preferir ter o Django e as respetivas definições instalados por si, veja a opção de servidor Django.