Para forzar un dominio a utilizar www dentro de NGINX, debemos agregar el siguiente bloque dentro de nuestro archivo de configuracion de el dominio. En este ejemplo utilizaremos el dominio midominio.com

En nuestro servidor buscamos el archivo de configuración de nuestro dominio, por lo general lo encontrarán en:

/etc/nginx/sites-avaliable/midominio.com

Abrimos este archivo de configuración con permisos sudo, ya que estamos modificando un archivo de nginx como tal en este caso utilizaré nano ya que estoy desde la línea de comandos

sudo nano /etc/nginx/sites-avaliable/midominio.com

Una vez abierto el archivo para hacerlo fácil y rápido podemos pegar el siguiente código al comienzo de nuestro archivo de configuración:

server {
    listen       80;
    server_name  midominio.com;
    return       301 http://www.midominio.com$request_uri;
}

Podemos ver que estamos haciendo una redirección permanente 301, ésto es importante por tema de posicionamiento.

Un ejemplo de como quedaría se veria:

server {
    listen       80;
    server_name  midominio.com;
    return       301 http://www.midominio.com$request_uri;
}

server {
    server_name www.midominio.com;
    root /home/user/midominio.com/public/;
    index index.php index.html;

}

Recuerden que el bloque server de abajo es solo de referencia a lo que ustedes tendrían, la ruta de referencia a root puede cambiar en su servidor, de más esta decir que el bloque que agregamos podemos agregarlo en un archivo nuevo y simplemente llamarlo dentro de éste con un include para que quede nuestra configuración más ordenada.

La ruta de referencia a root puede cambiar en su servidor

IMPORTANTE: en el segundo bloque server dejen solo el dominio con www, sino en las últimas versiones de NGINX 1.08 les dará el error.

Espero le sirva a más de alguno 😀