Sabemos que o nginx permite a criação dos chamados virtual-hosts através da cópia dos arquivos de configuração contidos nas pastas /etc/nginx/conf.d ou /etc/nginx/sites-available, essa última com links refletindo os arquivos na pasta /etc/nginx/sites-enabled.
Para configurar o perfeito funcionamento do wordpress no nginx basta você copiar as configurações a seguir, e personalizar segundo a sua necessidade, para um desses arquivos com extensão .conf nessas pastas.
Obs: utilize ou a pasta /etc/nginx/conf.d OU /etc/nginx/sites-available
Não há necessidade de realizar a configuração nas duas pastas. Caso isso seja feito o nginx apresentará erros ao iniciar/restartar o serviço.
Segue a seguir código para o arquivo .conf
server {
listen 80;
server_name www.sample.com sample.com;
root /var/www/html/sample.com;
index index.php;
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
expires max;
log_not_found off;
}
}
Atente-se que esse arquivo de configuração de exemplo está usando o php 7.2. Personalize de acordo com a versão utilizada por você.
Basta salvar o arquivo com as configurações acima e então recarregar as configurações do nginx e reiniciar seu serviço
Recarregando arquivos de configuração do nginx:
sudo nginx -t
Reiniciando serviço do nginx
sudo systemctl restart nginx