Instalar WordPress na VPS: passo a passo com Nginx
Do servidor limpo ao WordPress no ar: Nginx, MariaDB, PHP, certificado HTTPS e os cuidados com atualização e backup, em passos que você copia e confere.
Por Redação Eleven Host · @robson.direitodigital · 27 de outubro de 2026 · 8 min de leitura

Capa da Redação Eleven Host para o tutorial: Instalar WordPress na VPS: passo a passo com Nginx Arte: Eleven Host
Para instalar WordPress na VPS você prepara o servidor, instala Nginx, banco de dados e PHP, cria o banco, baixa o WordPress e ativa o HTTPS. Este guia segue essa ordem, com os comandos para Ubuntu ou Debian.
Os passos seguem a documentação do WordPress; os comandos de pacotes são de Ubuntu e Debian. Troque seudominio.com.br e seusite pelos seus nomes e leia cada comando antes de colar.
Quando vale WordPress em VPS
A VPS faz sentido quando você quer controle sobre o servidor, pretende hospedar vários sites no mesmo lugar ou tem uma loja que cresceu e precisa de mais folga. Você escolhe o que instala e como configura.
O outro lado é a responsabilidade. Em uma VPS, as atualizações do sistema, a segurança e o backup passam a ser seus. Se você prefere não cuidar disso, uma hospedagem gerenciada pode ser o caminho mais tranquilo. Se quer aprender e ter o controle, siga adiante.
O que você precisa antes de começar
- Uma VPS com Linux Ubuntu ou Debian e acesso root (ou um usuário com
sudo). - Um domínio, com o registro A apontando para o IP da VPS.
- Um cliente SSH no seu computador.
Para apontar o domínio, crie no painel de DNS um registro A do domínio para o IP da VPS. O guia Como montar servidor VPS: do plano ao primeiro site mostra a visão geral do servidor, do plano ao domínio. Este artigo foca só na instalação do WordPress.
Segundo o wordpress.org, o recomendado é PHP 8.3 ou superior, MySQL 8.0 ou superior ou MariaDB 10.11 ou superior, servidor Apache ou Nginx e suporte a HTTPS. Aqui usamos Nginx e MariaDB. Ao instalar os pacotes, confira as versões que o seu sistema entregou com php -v e mariadb --version.
Passo 1: atualize o sistema e ative o firewall
Entre na VPS por SSH e atualize os pacotes.
- Atualize a lista e os pacotes:
sudo apt update && sudo apt upgrade - Libere o SSH antes de ligar o firewall:
sudo ufw allow OpenSSH - Libere as portas web (o perfil 'Nginx Full' do ufw só existe depois de instalar o Nginx):
sudo ufw allow 80,443/tcp - Ative:
sudo ufw enable
A ordem importa: se você ativar o firewall sem liberar o SSH, perde o acesso ao servidor. O guia Firewall para VPS: como proteger seu servidor explica as portas com mais calma.
Passo 2: instale Nginx, MariaDB e PHP
Um único comando instala o servidor web, o banco, o PHP-FPM e as extensões que o WordPress usa:
sudo apt install nginx mariadb-server php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip php-intl
Depois rode o assistente de segurança do banco. Ele pergunta sobre senha do root do banco, usuários anônimos e banco de teste; leia cada pergunta e responda conforme o seu caso:
sudo mysql_secure_installation
Passo 3: crie o banco e o usuário
O WordPress guarda textos, usuários e configurações no banco. Abra o console com sudo mysql e rode as linhas abaixo, uma por vez. A senha troque-esta-senha é só um exemplo: use uma senha longa e própria.
CREATE DATABASE wordpress CHARACTER SET utf8mb4;CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'troque-esta-senha';GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';FLUSH PRIVILEGES;EXIT;
O usuário recebe todos os privilégios só nesse banco, como pede a documentação do WordPress.
Banco no mesmo servidor do site é simples de montar, mas disputa memória com o PHP. Se preferir separar, existe a opção de banco gerenciado.
Se você prefere não administrar o banco, há o 11SQL, banco gerenciado da Eleven Host, com o Mini a partir de R$ 9,90/mês. O guia Banco de dados MySQL na nuvem: guia para começar explica essa alternativa. Neste tutorial seguimos com o MariaDB local.
Passo 4: baixe o WordPress
O download pode ser feito direto no servidor.
- Vá para a pasta temporária:
cd /tmp - Baixe:
wget https://wordpress.org/latest.tar.gz - Extraia:
tar -xzf latest.tar.gz - Crie a pasta do site:
sudo mkdir -p /var/www/seusite - Copie os arquivos:
sudo cp -r wordpress/. /var/www/seusite/ - Entregue os arquivos ao usuário do Nginx e do PHP:
sudo chown -R www-data:www-data /var/www/seusite
Passo 5: configure o wp-config.php
O WordPress traz um arquivo de exemplo. Copie-o e edite:
cd /var/www/seusitesudo cp wp-config-sample.php wp-config.phpsudo nano wp-config.php
Troque os valores de DB_NAME, DB_USER e DB_PASSWORD pelos que você criou no passo 3 (wordpress, wpuser e a sua senha). O DB_HOST fica localhost. Salve e saia. Outra opção da documentação é deixar o instalador criar esse arquivo para você, no navegador.
Passo 6: configure o Nginx
Descubra o nome do socket do PHP-FPM, porque a versão aparece no nome do arquivo:
ls /run/php/
Crie o arquivo do site com sudo nano /etc/nginx/sites-available/seusite e escreva o bloco abaixo, uma linha por item. Troque php-fpm.sock pelo nome que o comando acima mostrou.
server {listen 80;server_name seudominio.com.br www.seudominio.com.br;root /var/www/seusite;index index.php index.html;location / { try_files $uri $uri/ /index.php?$args; }location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php-fpm.sock; }}
Ative o site, teste a sintaxe e recarregue:
sudo ln -s /etc/nginx/sites-available/seusite /etc/nginx/sites-enabled/sudo nginx -tsudo systemctl reload nginx
Se o nginx -t acusar erro, ele indica o arquivo e a linha. Corrija e rode de novo antes de recarregar. O site padrão do Nginx pode disputar o endereço com o seu; se isso acontecer, remova o link dele em sites-enabled.
Quer um servidor para instalar o WordPress do seu jeito? Veja os planos de VPS a partir de R$ 17,00/mês, no Plano Bronze. Ver planos de VPS
Passo 7: ative o HTTPS com o certbot
O certbot só emite o certificado se o domínio já apontar para a VPS. Confira antes com dig +short seudominio.com.br A. Depois siga a instalação indicada em certbot.eff.org para Nginx:
sudo snap install --classic certbotsudo ln -s /snap/bin/certbot /usr/local/bin/certbotsudo certbot --nginx- Teste a renovação:
sudo certbot renew --dry-run
Se o seu sistema não tiver o snap, siga na página do certbot.eff.org a opção indicada para o seu caso.
O pacote do certbot instala uma tarefa agendada que renova o certificado antes de vencer. Ainda assim, vale rodar o teste uma vez para ver se a renovação funciona no seu servidor.
Passo 8: termine a instalação no navegador
Abra https://seudominio.com.br/wp-admin/install.php. O instalador pede o título do site, um usuário administrador, uma senha, um e-mail e a opção de pedir aos buscadores que não indexem o site. Enquanto você monta o conteúdo, essa opção pode ficar marcada; desmarque na hora de divulgar.
Evite usar admin como nome de usuário e escolha uma senha longa, só sua.
Depois da instalação
O site no ar é o começo da rotina. Três cuidados pesam bastante:
- Atualizações. Mantenha WordPress, temas e plugins em dia, com teste antes. O passo a passo está em Como atualizar o WordPress com segurança.
- Backup fora do servidor. Uma cópia guardada na mesma VPS some junto com ela. Guarde o banco e a pasta
wp-contentem outro lugar. - Sistema. Rode
sudo apt update && sudo apt upgradede tempos em tempos.
Antes de divulgar o site
- O domínio abre com HTTPS e sem aviso de certificado.
- O
sudo nginx -tresponde sem erro. - A senha do banco e a do administrador são longas e próprias.
- A opção de não indexar foi desmarcada.
- Existe um backup do banco e da pasta de uploads em outro lugar.
- Você testou restaurar esse backup ao menos uma vez.
Precisa de um endereço próprio para o seu site? Registre o domínio na Eleven Host e aponte para a sua VPS. Registrar domínio
Perguntas frequentes
Posso instalar WordPress na VPS sem saber usar terminal?
É possível seguir este guia copiando os comandos, mas você vai usar o terminal o tempo todo. Vale ler o que cada comando faz e começar por um site de teste.
O Nginx mostra a página padrão em vez do WordPress. E agora?
Pode ser o server_name ou o root errado, ou o site padrão disputando o endereço. Rode sudo nginx -t, confira o domínio no arquivo do site e recarregue o Nginx.
Recebi erro 502 depois de configurar o PHP. O que checar?
O erro 502 indica resposta inválida do serviço que fica atrás do Nginx. Confira se o PHP-FPM está rodando com systemctl status php*-fpm e se o nome do socket no arquivo do Nginx é o mesmo que ls /run/php/ mostrou.
O certbot falhou. Por quê?
Uma causa possível é o domínio ainda não apontar para a VPS ou a porta 80 estar bloqueada no firewall. Confira com dig +short seudominio.com.br A e com sudo ufw status.