Nginx

How to handle 404 not found Pagespeed optimized resources in Nginx

Pagespeed rename the static resources (like images, CSS, etc.) file name to mark as optimized and there instances where the Pagespeed optimized web pages' resources returns 404 not found and for several browser refresh they eventually loads up. In this case, Pagespeed is still in the process of optimizing the web pages' resources. We can handle this issue by the following Nginx script:

Solution to PHP script at home page is downloaded instead of executed

The issue is only at the website home page's PHP script has the download behaviour but the rest of the website pages' PHP script run normally. In this article will show two solutions. This issue is very hard to debug because there are no helpful logs that will give hint on solving this issue. Actually, I was debugging a "Permission denied" issue and the fixes I tried to apply to this resulted to our main topic issue. The web server setup: Nginx as reverse proxy to Apache and under a web hosting control panel.

Tags

Implementing Nginx PageSpeed module's Shard domains with Drupal site

The web browsers by default limits number of concurrent connections for each host. When that limit exceeds, the resources (like CSS, images, etc.) will remain in queue waiting to be downloaded until the prior downloads are completed. This results slow page load times user experience. One solution to reduce page load time is by domain sharding. This technique splits the resources download across multiple sub-domains (eg. static1.webfoobar.com, static2.webfoobar.com) resulting an increase in simultaneous connections.

Setup alternative Twitter Bootstrap based Munin template

The Munin's generated web pages are very old fashioned and dull. Its design uses tables with small text and too much spaces. This guide will show how to change the Munin's template and should be continuation of Setup Munin on CentOS 7 with nginx. There will be two alternative Munin 2.x templates will be shown here:

1. Munin Dynamic Template

This alternative template uses jQuery and Twitter Bootstrap for Munin 1.x and 2.x versions that enhanced user experience and improve web pages' appearance. The following are the steps to setup this template:

Installing Monit to monitor your server running CentOS 7 with nginx

Monit can manage and monitor processes, programs, files, directories and filesystems of your UNIX server for you. You can program Monit to execute action for events like: service stops running or its using too much CPU or a host is unreachable. The following steps are tested running on my Linode server running Centos 7 64-bit. It is assumed that nginx is already installed in your system. If not, please follow this guide.

Setup Munin on CentOS 7 with nginx

Munin provides web interface showing graphs about your server's load average, memory usage, CPU usage, MySQL throughput, eth0 traffic, etc. Although it lets you monitor more than one server, this article will discuss the monitoring of the system where it is installed. The following steps are tested running on my Linode server running Centos 7 64-bit. It is assumed that nginx is already installed in your system. If not, please follow this guide.

Using Pagespeed with Nginx

Pagespeed is a quick way to optimize your site following web best practices. It is available as a module for Apache and Nginx. Installing this module in Apache is easy as:


sudo yum install at # if you do not already have 'at' installed
sudo rpm -U mod-pagespeed-*.rpm

To install Nginx, we need to compile the Nginx source in order to include Pagespeed module (please see this article for instructions). For Nginx configuration, please follow this guide.

Setup ECC SSL for Nginx to satisfty Cloudflare Full SSL mode

Cloudflare's Full SSL mode encrypts the connection between your website visitors and CloudFlare also from CloudFlare to your server. This mode requires SSL certificate on your server. In this tutorial will show how to create SSL certificate on server and configure Nginx for SSL.

The following procedures are tested on my Linode server running Centos 7 64-bit Linux distribution.

Setup Nginx as web server and as reverse proxy for Apache with Virtualmin support

We know that Nginx is more faster than Apache and most of us prefer to replace Apache with Nginx as their web server. Nginx is known to serve faster static content and run with less RAM. As of this writing, Virtualmin supports Apache as its web server. To take advantage of Nginx, we will install it as reverse proxy for Apache and continue using Virtualmin to manage your domains. This guide also applies to Nginx+PHP FPM setup just skip the "Configure Apache" section and skip the "Configure Virtualmin" section if you are not using Virtualmin.