It's easy to get started with the search server Apache Solr and the popular CMS platform Drupal, as described in our previous tutorial on setting up Solr 4.2 with Drupal 7. Straight out of the box Solr handles basic text searching, but you can increase its power by adding faceted search – the ability to filter on specific facets or aspects of the data on a site. For example, on a Drupal site you might want to be able to filter your searching by author, date, or tags. Solr's faceted search allows users to combine this type of filtering with text searching to find the information they're after faster. Read on for the lowdown on setting up and configuring basic faceted search using Solr 4.2 and Drupal 7, running on Apache on Linux.
Solr is an open source search server based on Apache Lucene. Lucene provides Java-based indexing and a search library, and Solr extends it to provide a variety of APIs and search functionality, including faceted search and hit highlighting, and handles Word and PDF document searching. It also provides caching and replication, making it scalable, robust, and very fast.
Since in most web services, reads outnumber updates by far, you can enhance the performance of a RESTful server by implementing a local cache, so repeated requests can be fed with local data and don't actually require more expensive processing. Caches are usually associated with static content such as images or videos that don't change over time, but in this article we'll see how to configure Apache to work as a reverse proxy, caching dynamic requests to reduce the load on your server.
On Linux systems, initialization (init) scripts manage the state of system services during system startup and shutdown. When the system goes through its runlevels, the System V init system starts and stops services as configured. While this tried-and-true technology has been around since the dawn of Unix, you can now create modern and efficient CentOS 6 init scripts by using Upstart, an event-based replacement for System V init.
Apache is still by far the most widely deployed HTTP server, according to the latest Netcraft web server survey, but nginx has been slowly, steadily gaining market share, thanks to its blazing speed. If you want to try a faster web server and move from Apache to nginx, you'll probably have to change some of your websites' configurations, starting with rewrite directives. To migrate rewrite rules from Apache to nginx, start with these tips and tricks.
Tomcat, the most popular open source implementation of the Java Servlet and JavaServer Pages specifications, is frequently integrated with Apache, the most popular open source web server. Here's a tutorial that shows you three ways to use Tomcat and Apache together.
Varnish is a standalone HTTP accelerator that provides efficient and powerful web caching mechanisms. In addition to performing web caching, Varnish can also act as a web application firewall (WAF) and a load balancer, and it can be integrated with any back-end web server.
While Apache continues to rule the web server roost, a host of lighter and zippier web and application servers may now be a better choice to host your high-performance web-based apps. They focus on delivering maximum performance while efficiently using your system's limited resources. One such web server is Jetty, which is garnering fans for its embedability.
WebSVN is a PHP-based client that, together with Apache, gives you a web-browser view of your Subversion repository. With a properly set up WebSVN installation you can see an easily navigable view of what was done in any given revision, check who was responsible for it, and compare two versions of a file. Combine WebSVN with the Apache DAV Subversion module and you can check out your repository over HTTP as well.
Most administrators know that PHP, the widely used scripting language, can be embedded in HTML and works with all major web servers. What's less widely known, however is that you can run PHP in different ways on your server. The most common option is the mod_php module that's runs by default in the Apache HTTP Server. If your primarily goal is performance, however, you should consider other options. PHP-FPM (FastCGI Process Manager) and PHP FastCGI each have pros and cons, but either can speed up the performance of your PHP.