Por que utilizar instsrv não funciona? Porque quando se inicia o nginx ele criar 2 processos nginx e o Service do Windows ao parar o serviço vai parar apenas 1 processo, deixando o outro pendurado e inutilizando o Service do Windows.
Tem um programa bastante interessante para lidar com esse tipo cenário, e óbviamente pode ser utilizado/adaptado para outras necessidades.
É um Wrapper para o Windows Service, chama-se Windows Service Wrapper e para fazer o Download dele, acessar http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/ e baixar a última versão disponível (agora que escrevo é a 1.8), ou caso o site esteja fora, pode fazer o download por aqui winsw-1.16-bin.exe.
Instalando e configurando o Windows Service Wrapper
Depois de ter feito o download do aplicativo, copie para o diretório onde instalou o nginx, geralmente é no c:\nginx e renome o arquivo winsw-1.8-bin.exe para srvnginx.exe.
Crie um arquivo .xmlcom o mesmo nome do executável, no caso srvnginx.xml e coloque o seguinte conteúdo:
nginx nginx nginx c:\nginx\nginx.exe c:\nginx\ roll -p c:\nginx -p c:\nginx -s stop
Certamente você deve alterar o caminho para o nginx de acordo com sua instalação.
Isto feito, para finalizar, execute o comando via cmd
c:\nginx\srvnginx.exe install
Pronto, o serviço nginx estará no Windows Service, pronto para o tradicional Stop/Start e funcionando a contento.

1 comment
Join the conversationPingback: NGINX como serviço no Windows | Fernando Aires