Hey! If you love Linux as much as I do and want to learn more about it, or possibly get some work,let's connect on LinkedIn. I talk about this stuff all the time!

Mastering NGINX

Learn how to check NGINX modules installed and maximize your web server’s performance, security, and functionality. …


Updated September 21, 2024

Learn how to check NGINX modules installed and maximize your web server’s performance, security, and functionality.

As a system administrator or web developer, you understand the importance of optimizing your web server for peak performance, security, and reliability. One crucial aspect of achieving this is ensuring that the necessary NGINX modules are installed and configured correctly. In this article, we will delve into the world of NGINX modules, explaining their significance, use cases, and providing a step-by-step guide on how to check which modules are installed.

What are NGINX Modules?

NGINX modules are software components that extend the functionality of the NGINX web server. These modules can provide various features, such as:

  • Support for specific protocols (e.g., HTTP/2, WebSockets)
  • Load balancing and caching
  • Security enhancements (e.g., SSL/TLS, access control)
  • Content optimization and compression

Why Check Installed Modules?

Verifying which NGINX modules are installed is essential for several reasons:

  1. Ensure required features: Confirm that the necessary modules are installed to support specific applications or services.
  2. Optimize performance: Identify opportunities to improve server efficiency by installing performance-enhancing modules.
  3. Enhance security: Verify that security-related modules are installed and configured correctly to protect against potential threats.

Step-by-Step Guide: Checking Installed NGINX Modules

To check which NGINX modules are installed, follow these steps:

Step 1: Access the NGINX Configuration File

Open the NGINX configuration file using your preferred text editor. The default location of this file varies depending on your Linux distribution:

  • Ubuntu/Debian: /etc/nginx/nginx.conf
  • Red Hat/CentOS: /etc/nginx/conf.d/default.conf

Step 2: Run the nginx -V Command

Execute the following command in your terminal to display a list of installed NGINX modules:

sudo nginx -V

This will output a detailed list of compiled-in modules, including their versions.

Step 3: Parse the Output

Carefully review the output to identify the installed modules. Look for lines starting with --with- or --without-, which indicate the presence or absence of specific modules.

Example output:

nginx version: nginx/1.18.0 (Ubuntu)
built by gcc 9.3.0 (Ubuntu 9.3.0-10ubuntu2)
built with OpenSSL 1.1.1f  31 Mar 2020
TLS SNI support enabled
configure arguments:
--with-cc-opt='-g -O2 -ffile-prefix-map=/build/nginx-RmWlgj/nginx-1.18.0=. -fstack-protector-strong -Wformat -Werror=format-security -fvisibility=hidden -Wall'
--with-ld-opt=-Wl,-Bsymbolic-functions -Wl,-z,relro
--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
--with-http_ssl_module
--with-http_v2_module
--with-http_realip_module

In this example, the output indicates that the following modules are installed:

  • http_ssl_module ( SSL/TLS support)
  • http_v2_module (HTTP/2 support)
  • http_realip_module (Real IP module)

Conclusion:

Checking which NGINX modules are installed is a straightforward process that can help you optimize your web server’s performance, security, and functionality. By following the steps outlined in this article, you can verify the presence of required modules and ensure that your NGINX installation is tailored to your specific needs.

Remember to regularly review your module configuration to guarantee optimal performance and adapt to changing requirements.

Stay up to date on the latest in Linux with AI and Data Science

Intuit Mailchimp