Com o Puppet, descobri que, se o que você está fazendo não funcionar imediatamente, você provavelmente está tentando fazer algo que não deveria. Neste caso, você provavelmente não quer que cada site individual simplesmente solte um arquivo de configuração em nginx / conf.d. Em vez disso, você deseja criar um recurso definido que represente um vhost nginx. Dentro desse recurso você tomaria o cuidado de soltar o arquivo de configuração correto em conf.d e notificar o serviço nginx.
Uma vantagem em fazer isso é que você pode padronizar toda a configuração que você precisa. Por exemplo, a maioria dos sites nginx precisará de gzip. Digamos que você esqueça isso, você prefere fazer essa alteração no seu modelo padrão ou precisa encontrar todas as configurações definidas do nginx para alterar? Ou digamos que outra vulnerabilidade seja encontrada nas cifras usadas para HTTPS. Com uma configuração nginx padrão, esse é um lugar onde você precisa alterá-lo. Com cada aplicativo soltando seu próprio arquivo de configuração, você estará alterando-o em todos os lugares.