try to prompt this command nginx -V
but shell returns fish: Unknown command “nginx”
If I try sudo service nginx status
I could see Usage: /etc/init.d/nginx {start|stop|restart|reload|force-reload}
Why nginx -V
is not work?
/etc/init.d/nginx
is a shell script to start/stop/...
the nginx service
$ file /etc/init.d/nginx
/etc/init.d/nginx: POSIX shell script, ASCII text executable
nginx
binary is different and usually present in /usr/sbin/
. Add that directory to your PATH
.
$ file /usr/sbin/nginx
/usr/sbin/nginx: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=c14e988f9696733869b790f49e27a488b0aff4c2, stripped
Or view the file /etc/init.d/nginx
to find out where nginx is installed.
I had a somewhat similar issues while running nginx -s reload
in a linux alpine docker container. I ran cat /etc/init.d/nginx
and noticed that the scripts are using a bang openrc binary. installed openrc and voila the command works.
alpine linux cmd (not sure what ubuntu command is)
apk add openrc