nginx modules and compiled flags

How to List NGINX Modules & Compiled Flags

There are numerous ways to install NGINX. When you compile and install NGINX from source code you have the option to include specific modules and compile NGINX with certain flags. Sometimes you may need to find out the NGINX modules & compiled flags that you had used during installation. In this article, we will look at how to list NGINX modules & compiled flags.


How to List NGINX Modules & Compiled Flags

It is very easy to list NGINX modules & compiled flags using the following command.

$ sudo nginx -V

Please note you need to use capital V above. If you use lowercase v then it will show NGINX version.

When you run the above command, you will see an output similar to the one below.

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

As you can see, it is difficult to understand the above output.

Also read : How to Redirect HTTP to HTTPS on Custom Port

So here is the above command modified to present the compiled modules in a neat manner. The following command will list each module in a separate line.

$ nginx -V 2>&1 | tr ' ' '\n'

If you want to list specific modules, you can pass the above command’s output to grep command. For example, here is the command to list all ssl-related commands.

$ nginx -V 2>&1 | tr ' ' '\n' | grep 'ssl'
 --with-http_ssl_module
 --with-mail_ssl_module
 --with-stream_ssl_module
 --with-stream_ssl_preread_module

As you can see, it is very simple to get a list of NGINX modules & compiled flags.

Also read : How to Rsync Files between Two Servers

Leave a Reply

Your email address will not be published. Required fields are marked *