不知道 Nginx 的安装目录和版本?命令详解来了!
最近有倒腾 LNMP 环境,其中涉及最多的应该是 Nginx 了,配置 SSL 证书、301跳转等。现在的 LNMP 一键安装包太多了,导致 Nginx 的安装路径有可能不一样,就像军哥的 LNMP 安装包和阿里云提供的 LNMP 集成包就是不一样的。那么当我 SSH 进入一台 Linux 系统后,该如何查找当前环境下的 Nginx 安装目录呢?
查找 Nginx 安装目录
先来看一条命令:
ps -ef | grep nginx
先解释一下命令的意思:
ps:将某个进程显示出来 -A 显示所有程序。 -e 此参数的效果和指定”A”参数相同。 -f 显示UID,PPIP,C与STIME栏位。 grep 是查找命令 中间的|是管道命令,是指ps命令与grep同时执行。
这条命令的意思是显示有关 nginx 有关的所有进程,我们可以看到第一条:
root 21357 1 0 11:19 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
路径就出来了!这一条的意思就是:确定 Nginx 是以哪个 config 文件启动的。
此外,还有其它方法,只不过没有上面一条方便。检查是否已经安装有 Nginx 及对应的目录:
find /|grep nginx.conf
还可以用以下两个命令:
[root@Hack520.com-Aliyun ~]#netstat -tnlp|grep nginx tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 21357/nginx tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 21357/nginx
然后看到一行记录,复制最后的一个进程ID,执行以下命令:
[root@Hack520.com-Aliyun ~]# ps -aux | grep 21357 Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ root 21357 0.0 0.0 45216 1356 ? Ss 11:19 0:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf root 27057 0.0 0.0 103188 856 pts/1 S+ 15:56 0:00 grep 21357 [root@Hack520.com-Aliyun ~]#
查找 Nginx 当前版本
查看服务器上安装的 Nginx 版本号,主要是通过 nginx 的 -v 或 -V 选项:
-v 显示 nginx 的版本。
-V 显示 nginx 的版本,编译器版本和配置参数。
[root@Hack520.com-Aliyun ~]# /usr/local/nginx/sbin/nginx -v nginx version: nginx/1.6.0 [root@Hack520.com-Aliyun ~]# /usr/local/nginx/sbin/nginx -V nginx version: nginx/1.6.0 built by gcc 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) TLS SNI support enabled configure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-ipv6 [root@Hack520.com-Aliyun ~]#