Sling Academy
Home/DevOps/NGINX: Is it Safe to Delete default.conf File?

NGINX: Is it Safe to Delete default.conf File?

Last updated: January 19, 2024

Introduction

With the evolution of web servers and their configurations, administrators often find themselves tweaking and tuning settings for optimal performance. One common question regarding NGINX, a popular high-performance web server, is whether it is safe to delete the default.conf file. In this tutorial, we’ll discuss the purposes of the default.conf file, implications of its deletion, and how to safely manage NGINX configuration files.

Understanding NGINX Configuration Files

NGINX’s configuration is governed by several files and directories, most notably the nginx.conf file and the conf.d and sites-available/sites-enabled directories. The default.conf file, typically located in the conf.d directory, represents a server block (similar to a virtual host in Apache) that defines default settings and serves as a template for new configurations.

# Sample default.conf server block
server {
  listen 80 default_server;
  listen [::]:80 default_server;
  ....
}

Is Deleting default.conf Safe?

The short answer is: it depends. If your NGINX server is not using the default.conf file and you have other configurations in place, deleting default.conf can be safe. However, if it’s the only available server block configuration or you’re unsure, deleting it could cause unwanted disruptions to your server’s operation.

Checking for Active Configurations

Before considering the deletion of default.conf, first, ensure that your server is not relying on this file. This can be done by reviewing the content and checking for other active server blocks.

# Print the contents of default.conf
$ cat /etc/nginx/conf.d/default.conf

# List other configuration files
$ ls /etc/nginx/conf.d/
$ ls /etc/nginx/sites-enabled/

This will help you understand what configurations are in place and whether default.conf is necessary for your setup.

Backup before Deletion

Prior to removing any configuration files, always back them up. This can be done easily by copying the file to a backup directory.

# Backup default.conf to a safe location
$ cp /etc/nginx/conf.d/default.conf ~/nginx-backups/default.conf.bak

Deleting the File

Once you’ve confirmed that deleting default.conf will not affect your active sites, you can proceed with the deletion:

# Remove the default.conf file
$ sudo rm /etc/nginx/conf.d/default.conf

After deleting, it’s crucial to test the configuration for any errors and then restart NGINX to apply changes.

# Test NGINX configuration for errors
$ sudo nginx -t

# Restart NGINX to apply changes
$ sudo systemctl restart nginx

Alternative Approaches

Rather than outright deletion, consider other, less drastic approaches to manage the default.conf file.

Disabling Instead of Deleting

Instead of deletion, you can move the default.conf file to another location or rename it to effectively disable it.

# Moving default.conf to backup location
$ sudo mv /etc/nginx/conf.d/default.conf ~/nginx-backups/

# OR

# Renaming the default.conf file to disable it
$ sudo mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.disabled

Using Include Directives

Manage the server block’s inclusion using NGINX’s include directive, which allows for modular configuration and easier management.

# Commenting out the include directive in nginx.conf
editor /etc/nginx/nginx.conf

# Comment the following line
#include /etc/nginx/conf.d/*.conf;

Advanced Configuration Management

When managing several server blocks or complex configurations, you may employ templates, automation tools like Ansible, or even version control to keep track of changes over time.

Using Templates

Use templates to standardize server block configurations for easier deployment across multiple servers.

Automation with Ansible

Tools like Ansible can automate the deployment and management of NGINX server blocks, reducing the risk of human error.

Version Control

Version control systems like Git offer a way to track changes, revert to previous states, and manage configurations across various environments.

Conclusion

In conclusion, whether it’s safe to delete the default.conf file from NGINX depends on your server’s setup and requirements. Always ensure the file is not in use, backup before deleting, and consider less disruptive alternatives. Proper management and understanding of NGINX’s configuration will ensure a smooth and reliable server operation.

Next Article: NGINX Reverse Proxy: A Practical Guide

Previous Article: NGINX: Is it safe to delete log files?

Series: NGINX Tutorials

DevOps

You May Also Like

  • NGINX underscores_in_headers: Explained with examples
  • How to use Jenkins CI with private GitHub repositories
  • Terraform: Understanding State and State Files (with Examples)
  • SHA1, SHA256, and SHA512 in Terraform: A Practical Guide
  • CSRF Protection in Jenkins: An In-depth Guide (with examples)
  • Terraform: How to Merge 2 Maps
  • Terraform: How to extract filename/extension from a path
  • JSON encoding/decoding in Terraform: Explained with examples
  • Sorting Lists in Terraform: A Practical Guide
  • Terraform: How to trigger a Lambda function on resource creation
  • How to use Terraform templates
  • Understanding terraform_remote_state data source: Explained with examples
  • Jenkins Authorization: A Practical Guide (with examples)
  • Solving Jenkins Pipeline NotSerializableException: groovy.json.internal.LazyMap
  • Understanding Artifacts in Jenkins: A Practical Guide (with examples)
  • Using Jenkins with AWS EC2 and S3: A Practical Guide
  • Terraform: 3 Ways to Remove Duplicates from a List
  • Terraform: How to convert a number to a string and vice versa
  • Using bcrypt() and md5() functions in Terraform