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

Updated: January 19, 2024 By: Guest Contributor Post a comment

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.