NGINX /etc/nginx/sites-available/default

Authentic ๐Ÿ“‹ Debian 9 (Stretch) 92 lines

Compatibility

Currently viewing:
Debian 9 (Stretch)
Also compatible:
Ubuntu 18.04 LTS (Bionic Beaver)
Different versions:

File Info

Size
92 lines
MD5
9b030ecaaccde110ce6ed49d2571f5b7
SHA256
e27fe6413217434eafda68bc95b2eacf38f8cb3d7b7f2011964ddb039ef35ebc

Quick Commands

curl:
curl https://exampleconfig.com/api/v1/config/original/9b030ecaaccde110ce6ed49d2571f5b7?hint=default
wget:
wget -O default https://exampleconfig.com/api/v1/config/original/9b030ecaaccde110ce6ed49d2571f5b7?hint=default
/etc/nginx/sites-available/default
##
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# https://www.nginx.com/resources/wiki/start/
# https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/
# https://wiki.debian.org/Nginx/DirectoryStructure
#
# In most cases, administrators will remove this file from sites-enabled/ and
# leave it as reference inside of sites-available where it will continue to be
# updated by the nginx packaging team.
#
# This file will automatically load configuration files provided by other
# applications, such as Drupal or Wordpress. These applications will be made
# available underneath a path with that package name, such as /drupal8.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##

# Default server configuration
#
server {
	listen 80 default_server;
	listen [::]:80 default_server;

	# SSL configuration
	#
	# listen 443 ssl default_server;
	# listen [::]:443 ssl default_server;
	#
	# Note: You should disable gzip for SSL traffic.
	# See: https://bugs.debian.org/773332
	#
	# Read up on ssl_ciphers to ensure a secure configuration.
	# See: https://bugs.debian.org/765782
	#
	# Self signed certs generated by the ssl-cert package
	# Don't use them in a production server!
	#
	# include snippets/snakeoil.conf;

	root /var/www/html;

	# Add index.php to the list if you are using PHP
	index index.html index.htm index.nginx-debian.html;

	server_name _;

	location / {
		# First attempt to serve request as file, then
		# as directory, then fall back to displaying a 404.
		try_files $uri $uri/ =404;
	}

	# pass PHP scripts to FastCGI server
	#
	#location ~ \.php$ {
	#	include snippets/fastcgi-php.conf;
	#
	#	# With php-fpm (or other unix sockets):
	#	fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
	#	# With php-cgi (or other tcp sockets):
	#	fastcgi_pass 127.0.0.1:9000;
	#}

	# deny access to .htaccess files, if Apache's document root
	# concurs with nginx's one
	#
	#location ~ /\.ht {
	#	deny all;
	#}
}


# Virtual Host configuration for example.com
#
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#
#server {
#	listen 80;
#	listen [::]:80;
#
#	server_name example.com;
#
#	root /var/www/example.com;
#	index index.html;
#
#	location / {
#		try_files $uri $uri/ =404;
#	}
#}

How to Install NGINX

Alpine Linux

sudo apk add nginx

Debian

sudo apt update && sudo apt install nginx

Red Hat Enterprise Linux

sudo yum install nginx

Ubuntu

sudo apt update && sudo apt install nginx

Configuration File Location

File Path
/etc/nginx/sites-available/default
Directory
/etc/nginx/sites-available/
Significance
System-wide configuration directory
Description
Files in /etc/ contain system-wide configuration settings that affect all users.

Complete NGINX Configuration Guide

What is default?
Get the authentic, unmodified 'default' configuration file from a fresh Debian 9 (Stretch) installation. This is the exact default NGINX configuration that ships with the official package, perfect for restoring corrupted configs or understanding baseline settings.
Technical Details
Located at '/etc/nginx/sites-available/default', this 92-line file contains the production-ready directives for HTTP server blocks, SSL/TLS termination, gzip compression, and worker process optimization. Essential for web servers, reverse proxies, load balancers, and API gateways serving millions of requests.
Common Configuration Question
How do you configure NGINX for optimal performance, security, and scalability on Debian 9?
Why Use This Configuration?
This original configuration provides the foundation for high-performance web serving. Includes security headers, SSL best practices, and performance optimizations. Critical for DevOps engineers, system administrators, and web developers building production infrastructure.

Frequently Asked Questions

When should I use this default file?

Use this original configuration file when you need to restore NGINX to its default state after misconfiguration, during fresh installations, or as a baseline for customization. It's particularly useful for troubleshooting when your current config isn't working properly.

How do I restore NGINX to default settings?

Download this file and replace your current configuration at /etc/nginx/sites-available/default. Make sure to backup your existing configuration first, then restart the NGINX service to apply the changes.

Is this default file secure for production use?

This is the factory-default configuration that ships with NGINX on Debian 9 (Stretch). While it provides a secure baseline, you should review and customize security settings based on your specific production requirements and compliance needs.

What's the difference between this and other OS versions?

This configuration is specifically from Debian 9 (Stretch). Different operating systems and versions may have slightly different default settings, security patches, or feature availability. Check the compatibility section above for other OS versions.

Can I use this configuration file for NGINX troubleshooting?

Yes, this original configuration is excellent for troubleshooting. Compare it with your current settings to identify modifications that might be causing issues, or temporarily replace your config with this one to isolate problems.