如何列出已安装的Nginx模块和已编译标志
时间:2020-01-09 10:39:30 来源:igfitidea点击:
如何列出已安装的Nginx模块?
如何找到在Linux和类似Unix的操作系统上编译的Nginx服务器的标志?
我们可以使用nginx命令本身轻松查看Nginx编译了哪些标志。
该命令还列出了已安装的Nginx模块。
本教程解释了供开发人员和sysadmin使用的各种命令行选项,以确定是否编译了特定功能。
Linux列出已安装的Nginx模块
确保以root用户(sudo nginx -V
)运行nginx命令,并且nginx在$PATH中。
打开终端应用程序,然后执行以下命令:
$ nginx -V
nginx version: nginx/1.18.0 (Ubuntu) built with OpenSSL 1.1.1f 31 Mar 2020 TLS SNI support enabled configure arguments: --with-cc-opt='-g -O2 -fdebug-prefix-map=/build/nginx-5J5hor/nginx-1.18.0=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -Wdate-time -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fPIC' --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --modules-path=/usr/lib/nginx/modules --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-compat --with-pcre-jit --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_v2_module --with-http_dav_module --with-http_slice_module --with-threads --with-http_addition_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module=dynamic --with-http_sub_module --with-http_xslt_module=dynamic --with-stream=dynamic --with-stream_ssl_module --with-mail=dynamic --with-mail_ssl_module
Nginx以整齐的格式列出已安装的模块
-V选项传递给nginx命令。
它列出了所有已配置的Nginx模块。
但是,使用egrep命令/grep命令不容易读取或搜索输出。
例如,查看Nginx是否使用stub_status_module编译,运行:
$ nginx -V | grep --color stub_status_module
更具可读性的语法:
$ nginx -V 2>&1 | tr ' ' '\n' $ nginx -V 2>&1 | tr ' ' '\n' | grep 'something' $ nginx -V 2>&1 | tr ' ' '\n' | grep 'ssl' $ nginx -V 2>&1 | tr ' ' '\n' | egrep -i 'ssl|brotli|pagespeed'
请注意,2>&1
将使用shell管道将stderr和stdout重定向到tr命令命令。
有关详细说明,请参见BASH Shell将stderr重定向到stdout(将stderr重定向到File)。
查找在Unix下使用Nginx编译了哪些标志
相同的命令列出了Nginx下的编译模块和动态模块:
$ nginx -V $ nginx -V 2>&1 | tr ' ' '\n'
--prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --modules-path=/usr/lib/nginx/modules --http-client-body-temp-path=/var/lib/nginx/body .... ..
其他Nginx命令选项
显示nginx版本并退出:
$ nginx -v # small -v
要查看版本和配置选项,请运行:
$ nginx -V # CAPITAL -V
测试Nginx配置是否存在错误:
$ nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: [emerg] mkdir() "/var/lib/nginx/body" failed (2: No such file or directory) nginx: configuration file /etc/nginx/nginx.conf test failed
在配置测试期间隐藏非错误消息
$ nginx -t -q
我们可以测试配置,然后将其转储到屏幕上:
$ nginx -T
发送信号以控制Nginx服务器:
$ sudo nginx -s signal
停止Nginx服务器:
$ sudo nginx -s stop
在对配置文件进行更改之后或在创建/颁发/续订TLS/SSL证书后,重新加载Nginx服务器:
$ sudo ngix -s reload
创建存储在/var/log/nginx /中的日志文件后,重新打开日志文件:
$ sudo ngix -s reopen