UltraStack is a configuration of a LAMP (Linux, Apache web server, MySQL server, PHP) stack that provides optimal performance for PHP-based CMS’s or application. This tutorial will go over how it works in laymen’s terms in order to give you an idea of all of the working pieces.
The numbers in the list below correspond with the screenshot above.
- Client Web Browser – the browser from a website viewer requesting a page. The client web browser is not actually part of the UltraStack configuration. It’s there to show where website requests are coming from and going to.
- UltraStack utilizes NGINX as a cache server – saves load times by caching pages. Using NGINX as a caching server helps to make things faster by stopping redundant page loads.
- Apache Webserver – the heart of many web hosting servers; the Apache webserver processes website requests
- PHP-FPM – FPM stands for FastCGI Process Manager; provides faster processing and caching of PHP allowing for improved performance for PHP-based applications
- cPanel – allows the user to manage the webserver with a graphical interface.
- NGXconf – Manages the NGINX server providing the configuration for all users
UltraStack in Action
Now that you have an idea of the individual sections in the UltraStack configuration, how do they all work and why is the UltraStack configuration faster?
Basically, there are two main reasons that UltraStack has gains in performance, for many hosting plans. The first has to do with the caching configuration of NGINX and the other involves the PHP-FPM configuration. Both sections provide caching by providing caching. In the case of the NGINX server, it is providing caching for pages before they reach the Apache webserver. The PHP-FPM also caches PHP processes again preserving valuable CPU resources and shortening load times. Here’s a typical chain of events when a user requests a page:
- The user gets on the internet and then requests a page from their internet browser
- If the page is already cached, then NGINX sees the request and returns the cached page
- If it’s a page that has PHP, the request is processed through the Apache webserver and then by PHP-FPM. Here, caching can also be used to the advantage of the UltraStack configuration as PHP-FPM can cache common PHP tasks. If the task has already processed and cached, it is then immediately returned to the user through the Apache webserver.
That is how UltraStack basically works! It is deceptively simple, but it provides performance gains based on the stack architecture. Check out our other tutorials to learn more about UltraStack!