By default, NGINX installed on Ubuntu and Debian systems use the sites-available and sites-enabled directories to control website access. This approach is often used even on other Linux systems.
By default on Ubuntu systems, Apache Virtual Hosts configuration files are stored in /etc/apache2/sites-available directory and can be enabled by creating symbolic links to the /etc/apache2/sites-enabled directory. ServerName : The domain that should match for this virtual host configuration.
On Ubuntu systems, Apache Virtual Hosts configuration files are located in /etc/apache2/sites-available directory. They can be enabled by creating symbolic links to the /etc/apache2/sites-enabled directory, which Apache read during the startup.
All NGINX configuration files are located in the /etc/nginx/ directory. The primary configuration file is /etc/nginx/nginx. conf .
The difference is that virtual sites listed in the sites-enabled
directory are served by Apache. In the sites-available
directory there are the virtual sites that exist on your server, but people can't access them because they are not enabled yet.
sites-available: this directory has configuration files for Apache 2 Virtual Hosts. Virtual Hosts allow Apache 2 to be configured for multiple sites that have separate configurations.
sites-enabled: like mods-enabled, sites-enabled contains symlinks to the /etc/apache2/sites-available directory. Similarly when a configuration file in sites-available is symlinked, the site configured by it will be active once Apache2 is restarted.
See https://help.ubuntu.com/lts/serverguide/httpd.html.
You should edit files only in the sites-available
directory.
Never edit files inside the sites-enabled
directory. Otherwise you can have problems if your editor runs out of memory or, for any reason, it receives a SIGHUP or SIGTERM.
For example: if you are using nano to edit the file sites-enabled/default
and it runs out of memory or, for any reason, it receives a SIGHUP or SIGTERM, then nano will create an emergency file called default.save
, inside the sites-enabled
directory.
So, there will be an extra file inside the sites-enabled
directory. That will prevent Apache or nginx from starting. If your site was working, it will not be any more. You will have a hard time until you find out, in the logs, something related to the default.save
file and, then, remove it.
In the example above, if you were editing the file inside the sites-available
directory, nothing bad would have happened. The file sites-available/default.save
would have been created, but it wouldn't do any harm inside the sites-available
directory.
You configure your site mysite
by creating or editing the file mysite.conf
in sites-available
(you can also configure several sites in the same .conf file, if you prefer).
After this, for publishing the site you must create the correspondent symlink in folder sites-enabled
. In Ubuntu you can do it like this:
a2ensite mysite
(with sudo
, if necessary; and without the final .conf)
And then you must reload Apache:
sudo service apache2 reload
Later, if you want to modify the configuration, you only touch the mysite.conf
file in sites_available
. Changes apply automatically in sites_enabled
, through the symbolic link. Just remember to reload Apache.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With