Tag Archives: Apache

Linux Web Server’s place in the search rankings

I’ve been keeping an eye on the search engine rankings for my latest site, Linux Web Servers. The site has only been up for a month, but it’s quite low in the search rankings at the moment. Other sites started off higher up the search rankings.

The subject matter of this site is much broader than previous sites. My Raspberry Pi site and Banana Pi sites cover quite narrow niches compared to Linux Web Servers.

There are many professional web sites covering web servers on Linux, and a lot of people have hobby sites about this topic. To compound the problem, I’ve started off by writing about setting up a LAMP server and installing WordPress on Apache. There are many, many tutorials covering these things on other web sites.

Once I start writing about slightly more obscure things, I should start to do better in rankings. The articles about Apache’s mod_proxy are already doing better in the rankings than the articles about WordPress.

The good news is that I should get a lot of traffic once this site starts to take off. If I can work my way up the search rankings, Linux Web Servers should appeal to a huge audience.

Advertisements

Cluster field testing

I posted a link to my Banana Pi cluster on Reddit see how the server would cope with the traffic. It wasn’t a huge amount of traffic – about 4000 page views over two days. At its busiest, the cluster handled about 480 hits an hour.

Ganglia showed that none of the CPUs in the cluster were busy. This is pretty much what I expected would happen, and I now feel confident that the cluster can easily handle much larger amounts of traffic. It was also good to see that the data from Ganglia showed useful information that reflected what was happening to each server.

Ganglia cluster information

Ganglia 24 hour view of web server and database server clusters

I’ve also been working the newest site on the Banana Pi cluster, Linux Web Servers. I’ve written some articles about installing WordPress on Apache. It’s been a while since I worked with WordPress, and it was nice to get back to it.

I’ve started writing some posts about Nginx, which I hope to publish soon.

Fixed my load balancer and got my new site on line

I’ve fixed the problem with my load balancer. The hard disk was completely dead, so I couldn’t execute any terminal commands. I just pulled the
plug and took out the hard disk. I replaced it with a hard disk from an old NAS, and reinstalled Lubuntu. I’m using Lubuntu because this PC
only has 512MB of RAM, so I need to save memory.

I installed Apache and set up mod proxy as described in this article about how I built my Raspberry Pi cluster.

While I was rebuilding the load balancer, my Raspberry Pi site was being hosted on a single Pi. Response times did suffer, but at least my site
wasn’t down completely.

This time when I set up Apache on the load balancer, I added the ServerName directive to the first virtual host:

<VirtualHost *:80>
 ServerName raspberrywebserver.com
...

 ProxyRequests Off
 <Proxy balancer://rpicluster>

 BalancerMember http://192.168.1.11:80 
 BalancerMember http://192.168.1.12:80 
 BalancerMember http://192.168.1.13:80 
 BalancerMember http://192.168.1.15:80 
 BalancerMember http://192.168.1.16:80 
 BalancerMember http://192.168.1.17:80 
 BalancerMember http://192.168.1.18:80 

 AllowOverride None 
 Order allow,deny 
 allow from all 

 ProxySet lbmethod=byrequests
 </Proxy>

...

</VirtualHost>

Next, I added a new virtual host section to the load balancer’s config:

<VirtualHost *:80>
 ServerName www.pyplate.com

 ProxyRequests Off
 ProxyPass / http://192.168.1.25/

 ErrorLog ${APACHE_LOG_DIR}/error.log

 # Possible values include: debug, info, notice, warn, error, crit,
 # alert, emerg.
 LogLevel warn

 CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

When the load balancer receives an HTTP request, it examines the domain name in the request to see which virtual host should handle the request. Requests for pages on raspberrywebserver.com are handled by the first virtual host which forwards requests to one of the nodes in the Pi cluster. Requests for pages on http://www.pyplate.com are handled by the second virtual host, which passes requests to a single server which holds the Pyplate web site. This server is a PC, so it’s a lot more powerful than the Raspberry Pi cluster.

I’m just about ready to begin beta testing. If you want to take a look at my new site, you can see it at www.pyplate.com. It’s brand new, so there may be teething problems.

I’ll announce beta testing on the Raspberry Pi forum tomorrow.

 

Nginx v Apache

I finally got around to doing some testing with Nginx.  I’ve written a description of how I set up Nginx on a Raspberry Pi.

I did a comparison of Nginx and Apache to see which would provide the best performance for my site.  Nginx was fastest for static content and dynamic content.

I want to deploy Nginx on my cluster, but first I have to figure out some issues with cache headers.  Hopefully I’ll get that worked out in the next few days.  I’ve posted a question about it on stackoverflow: http://stackoverflow.com/questions/19995097/setting-the-expires-header-stops-nginx-passing-requests-to-uwsgi

The makers of the Pi Face interface board have built themselves a new site.  They’ve linked to my site on this page – look for the picture of the robot buggy:  http://www.piface.org.uk/products/piface_digital/

 

 

Crawl Stats from Google webmaster tools show an improvement in performance

Google bot crawl stats for my site

Google bot crawl stats for my site

This screen shot is from my Google webmaster tools account. The first two graphs show the number of pages crawled and the number of kilobytes downloaded per day.  The last graph shows the time that Google bots needed to download pages.

You can see that Google has been crawling my site as much as ever, but since I tuned my Raspberry Pi server cluster, the time spent downloading pages has plummeted.

I’ve built a Raspberry Pi cluster and I’m using it to host my site

I’ve wanted to learn how to use a load balanced server for some time now.  I finally got around to buying more Pies so that I could build a cluster, and I’ve set up a PC as a load balancer.

Follow this link to  read the technical details about my Raspberry Pi server cluster.

raspberrypiservercluster

 

It was surprisingly simple to set up.  I hope to get more Pies to add to the cluster, but for the moment, it seems powerful enough.  My server has had over 2000 visitors so far today, and pages are still loading quickly.  I wasn’t sure if such a simple cluster could handle that much traffic, but I think there’s still quite a lot of spare capacity.