This all happens because both initialization configs (upstart: /etc/init/nginx and RC: /etc/init.d/nginx) are present.
The presence of both approaches creates a conflict.
man service:
The existence of an upstart job of the same name as a script in /etc/init.d will cause the upstart job to take precedence over the init.d script.
All extra commands (such as: configtest, rotate, upgrade) that are present in /etc/init.d/nginx script will not work with 'service' until nginx upstart config is removed.
As for the reload command: If nginx was started via /etc/init.d/nginx start and nginx upstart config is present, the command will not work as the daemon is not being controlled by upstart.
IMHO: nginx package should be built without upstart support (like the official trusy package)
This all happens because both initialization configs (upstart: /etc/init/nginx and RC: /etc/init.d/nginx) are present.
The presence of both approaches creates a conflict.
man service:
The existence of an upstart job of the same name as a script in /etc/init.d will cause the upstart job to take precedence over the init.d script.
All extra commands (such as: configtest, rotate, upgrade) that are present in /etc/init.d/nginx script will not work with 'service' until nginx upstart config is removed.
As for the reload command: If nginx was started via /etc/init.d/nginx start and nginx upstart config is present, the command will not work as the daemon is not being controlled by upstart.
IMHO: nginx package should be built without upstart support (like the official trusy package)