In our case, multiple sites are hosted on a single app server and web server(Nginx). The requirement was to disable one of the sites, and a result of hitting the disabled site should be a custom page displayed with the message that the site is unavailable.
For doing this, there are three actions to be performed:
- Disable the app from the app server
- Avoid it from hitting the app server form the web server
- Display a custom static HTML page instead of the default nginx page.
To disable the site:
Disable from Liferay (App Server) - Login to Liferay application using the admin credentials
- Goto Control Panel => Sites
- Disable the required site by clicking on three dots located besides the site and then on Deactivate.
Disable from nginx (Web Server) - Login to your web server and open the terminal
- Go to the following path: /etc/nginx/sites-enabled or /etc/nginx/conf.d
- Open the config file of the specific domain you need to disable.
- Comment the line containing proxy_pass and add the following to disable all the URLs of that domain present in the location tag:
if (!-e $request_uri) {
rewrite ^ / permanent;
}
Display a static HTML page:
- Put your custom HTML content in index.html (This file has the default page of nginx) file present at the following path: /usr/share/nginx/html/ or /var/www/html (Based on your server config, the location of index.html file might be in any one of the location).
- Restart the nginx server: sudo service nginx restart
Conclusion:
In this tutorial, you learned how to disable a site from Liferay, where the default Nginx page is located, and how to change it by using any text editor