Publicar um site ou uma aplicação
O seu VPS Pro serve os seus sites e as suas aplicações no respetivo nome de domínio, em HTTP e em HTTPS. Os visitantes chegam às portas 80 e 443 do seu servidor, pelo nome do seu servidor; a cifragem HTTPS vai de ponta a ponta, até ao seu servidor, onde se encontra o seu certificado.
1. Apontar o seu domínio para o seu servidor
No local onde se gere a zona DNS do seu domínio, crie dois registos para o nome do seu servidor, com os endereços apresentados no respetivo cartão, secção VPS da sua área de cliente:
| Tipo | Nome | Valor |
|---|---|---|
A | app (ou @ para o próprio domínio) | o Endereço IPv4 do seu cartão |
AAAA | app (ou @) | o Endereço IPv6 do seu cartão |
Um nome em vps.simafri.cloud já funciona: não há nada a criar.
Quando a zona DNS do seu domínio é gerida pela Simafri, a nossa equipa cria estes registos por si: escreva-nos. Antes de mudar um site que já está online, peça-nos também para baixar o tempo de vida (TTL) do registo: a mudança propaga-se então em poucos minutos.
Para verificar a partir do seu computador:
dig +short A app.minha-empresa.pt
dig +short AAAA app.minha-empresa.pt
2. Instalar o seu servidor web
O seu servidor web escuta na porta 80 para HTTP e na porta 443 para HTTPS. Duas escolhas habituais:
- Caddy, que obtém e renova sozinho o seu certificado HTTPS;
- Nginx ou Apache, com Certbot para o certificado.
Com Caddy
apt install caddy
Depois, em /etc/caddy/Caddyfile, para um site estático:
app.minha-empresa.pt {
root * /var/www/app
file_server
}
ou para uma aplicação que escuta na porta 3000:
app.minha-empresa.pt {
reverse_proxy 127.0.0.1:3000
}
systemctl reload caddy, e o seu site responde em HTTPS: o Caddy obteve o certificado e renová-lo-á automaticamente.
Com Nginx e Certbot
apt install nginx certbot python3-certbot-nginx
Crie o site em /etc/nginx/sites-available/app:
server {
listen 80;
listen [::]:80;
server_name app.minha-empresa.pt;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Ative-o e, depois, peça o certificado:
ln -s /etc/nginx/sites-available/app /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
certbot --nginx -d app.minha-empresa.pt
O Certbot instala o certificado Let's Encrypt, acrescenta a escuta na porta 443 e programa a respetiva renovação automática. certbot renew --dry-run verifica se a renovação está pronta.
3. Manter a sua aplicação em funcionamento
Uma aplicação Node.js, Python, Go ou Java que funciona em contínuo confia-se ao systemd: arranca com o servidor e volta a arrancar sozinha se parar. Exemplo, em /etc/systemd/system/app.service:
[Unit]
Description=A minha aplicação
After=network.target
[Service]
WorkingDirectory=/srv/app
ExecStart=/usr/bin/node server.js
Restart=always
Environment=NODE_ENV=production
User=www-data
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable --now app
journalctl -u app -f # acompanhar os registos
O PM2 para Node.js, o Gunicorn ou o Uvicorn para Python, ou o Docker Compose cumprem o mesmo papel, se os preferir.
4. A sua base de dados
PostgreSQL, MySQL, MariaDB, Redis ou MongoDB instalam-se no seu servidor com o gestor de pacotes, ou a partir do repositório oficial do editor para a versão mais recente:
apt install postgresql
Mantenha a sua base de dados à escuta em localhost: a sua aplicação chega a ela no próprio servidor. Para a administrar a partir do seu computador, passe por um túnel SSH:
ssh -p 22101 -L 5432:localhost:5432 root@app.minha-empresa.pt
A sua ferramenta (DBeaver, pgAdmin, TablePlus) liga-se então a localhost:5432.
Servir vários domínios
O seu servidor responde pelo seu nome, definido na encomenda. Para servir outro domínio ou outro subdomínio no mesmo VPS Pro, escreva ao suporte indicando os nomes a acrescentar: a nossa equipa liga-os ao seu servidor e, depois, da sua parte, cria os respetivos registos DNS como na etapa 1 e acrescenta o bloco correspondente ao seu servidor web.
Perguntas frequentes
O meu site apresenta um erro de certificado.
Verifique por esta ordem: os seus registos A e AAAA designam os endereços do seu cartão (dig), o seu servidor web escuta nas portas 80 e 443 (ss -tlnp), e o certificado cobre de facto esse nome (certbot certificates). O certificado obtém-se depois de o nome designar o seu servidor: volte a executar o Certbot, ou recarregue o Caddy, depois da propagação DNS.
O meu site não responde de todo.
No servidor, curl -I http://localhost mostra se o seu servidor web responde. systemctl status nginx (ou caddy, ou o seu serviço) e os respetivos registos dizem porque parou. Descreva o que observa ao suporte: a Assistência integral faz o diagnóstico consigo.
Posso instalar WordPress, Laravel ou Symfony?
Sim: instale o PHP-FPM, a sua base de dados e o seu servidor web e, depois, a sua aplicação, como em qualquer servidor Linux. A Assistência integral indica-lhe as definições adequadas ao seu projeto, passo a passo.