What is include in nginx config: Usage and Examples
include directive in nginx config is used to insert the contents of another file into the current configuration file. It helps organize and reuse configuration snippets by splitting large configs into smaller, manageable files.How It Works
Think of the include directive as a way to copy and paste the content of one file into another automatically. Instead of writing all configuration settings in one big file, nginx lets you break it down into smaller pieces and then include those pieces where needed.
This is like having a recipe book where you keep separate pages for sauces, spices, and cooking methods, and then you combine them when cooking a dish. It makes managing configurations easier and cleaner.
When nginx starts, it reads the main config file and whenever it finds an include directive, it reads the specified file and treats its content as if it was written right there.
Example
This example shows how to include a separate file for server settings inside the main nginx config.
http {
include mime.types;
default_type application/octet-stream;
include /etc/nginx/conf.d/*.conf;
server {
listen 80;
server_name example.com;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
}When to Use
Use include when you want to keep your nginx configuration organized and easy to maintain. For example, you can put all your server blocks in separate files inside /etc/nginx/conf.d/ and include them in the main config.
This is helpful when managing multiple websites on one server or when you want to share common settings like SSL certificates or logging across different configs.
It also makes updating configurations safer because you can change one small file without touching the whole config.
Key Points
- Include inserts content of another file into the current config.
- It helps split large configs into smaller, reusable files.
- Supports wildcards like
*.confto include multiple files. - Improves organization and reduces errors in config management.
- Commonly used for server blocks, mime types, and shared settings.