Multiple domains on NGINX
Simple configuration which will allow to handle more than one domain by server using NGINX. Edit config files as following:
/etc/nginx/sites-available/first-domain.com
server {
listen [::]:80;
listen [::]:443;
root /var/www/html/first-domain/public;
server_name first-domain.com www.first-domain.com;
location / {
try_files $uri $uri/ =404;
}
}
/etc/nginx/sites-available/second-domain.com
server {
listen [::]:80;
listen [::]:443;
root /var/www/html/second-domain/public;
server_name second-domain.com www.second-domain.com;
location / {
try_files $uri $uri/ =404;
}
}
It is possible to put above two files in /etc/nginx/sites-enabled, but I prefer to create symlinks to it.
$ sudo ln -s /etc/nginx/sites-available/first-domain.com /etc/nginx/sites-enabled/first-domain.com $ sudo ln -s /etc/nginx/sites-available/second-domain.com /etc/nginx/sites-enabled/second-domain.com
Include those config files in main /etc/nginx/nginx.conf:
http {
include /etc/nginx/sites-enabled/*;
(...)
}
Check if everything is OK, restart the server and it is done!
$ sudo nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful $ sudo systemctl restart nginx