Por padrão, o daemon start-stop envia o SIGTERM para o processo nginx. Não garante o processo de parada.
Correção: no arquivo /etc/init.d/nginx
change na seção "stop" string
start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \
para
start-stop-daemon --stop --retry=TERM/30/KILL/5 --quiet --pidfile /var/run/$NAME.pid \
Essa correção envia SIGKILL (kill -9) se SIGTERM não parar o processo.
E garanta, por favor, que o caminho para o arquivo pid pid /var/run/nginx.pid;
em /etc/nginx/nginx.conf
e o caminho --pidfile /var/run/$NAME.pid
em /etc/init.d/nginx
seja o mesmo.