Rails and PHP have transformed the landscape for developing web 2.0 applications. They have made many tasks easier, but deploying these applications has not been quite so smooth. The "dirty-little-secret" about using these web frameworks is — deployment is often messy and difficult. CGI, FastCGI, Mongrel-Clusters ... many solutions have been tried. More recently, the best solution is emerging — to deploy these applications behind a reverse proxy. This permits the front-end web server to exclusively serve static content and route the incoming requests. The back-end can then focus on actually running the application.
The back-end web server is then very different to the front-end (reverse proxy). The front-end must scale and be able to serve static content quickly and securely. The back-end must host the web application and be very efficient with memory and CPU resources.
Appweb is an ideal back-end web server in this scenario for running dynamic web applications. Because Appweb is a fast, multi-threaded, event-driven server, each Appweb instance can host several web application sessions for maximum efficiency and minimal memory footprint. Due to its Apache compatible configuration file, you don't have to learn a whole new configuration setup. Using this configuration, you will lighten the load on your web installation, provide better response to clients and simplify your configuration.
Qualities of an Ideal Back-End HTTP Server
Most existing HTTP servers were designed to be front-end servers before Web 2.0 burst onto the scene. The needs of current dynamic web applications have evolved and so to must the design of back-end web servers. The following lists the ideal qualities of a back-end HTTP server:
- Able to host web applications and frameworks in-memory
- Be very effective with memory. It is inadequate to load the entire web framework for each new application instance.
- Be fast to respond to new client requests
- Be fast to service longer running requests
Embedthis Appweb is a 2nd generation design that fulfills today's web 2.0 requirements. It is fast, compact and Apache compatible in configuration and logging. It has an extensive set of features and provides in-memory modules for PHP and Ejscript.
The Appweb embedded HTTP server has the following features:
- Fastest performance in its class
- Extremely efficient with memory allocation
- In-memory PHP and Ejscript modules
- Basic and Digest Authentication
- Dynamically loadable modules
- Secure Socket Layer (SSL/TLS)
- In-process CGI as well as traditional CGI
- Extensive logging
- Full source code and documentation provided