Creating a scalable architecture
In the previous examples, we've installed the database server on the same physical machine as the web server. Although a small website will perform just fine on a single server, larger sites will hit performance bottlenecks caused by limited capacity. A common industry solution to this problem is to place the web server on a different physical server from the database. This allows accommodation of future traffic increases by adding more processing servers.
As mentioned before, TYPO3 is thread-safe, so the processes running on one server will not interfere with processes on the other servers.
How to do it...
Once you have moved your database to a different server, you need to point TYPO3 to the new DB host. If you haven't installed TYPO3 yet, refer to the next recipe. Otherwise, select the Admin Tools | Install module in the TYPO3 backend, or if you don't have access to the backend yet, go to http://example.com/typo3/install/ (replacing example.com with the domain name of your site).
Note
Resolving missing ENABLE_INSTALL_TOOL file error
You may get an error, stating that the Install Tool has been locked due to missing ENABLE_INSTALL_TOOL
file. This file is a security precaution, preventing anyone from potentially accessing system settings. If this file is present, it is removed after one hour of inactivity for the same reason. But there are several ways to recreate it. If you're logged in to the backend, the easiest way to create the file is to go to User tools | User settings [admin], and under Admin functions tab, click the button Create Install Tool Enable File:
If you don't have access to the backend, you can create the file manually using the following command line or a file explorer:
Shell> touch /var/www/typo3conf/ENABLE_INSTALL_TOOL
Once you have gained access to the Install Tool, go to Basic configuration, and adjust the database access information.
There's more...
You can now scale horizontally, by adding more processing servers accessing the same database. In this setup, storage becomes a problem. Luckily, most static files needed by TYPO3 are stored in the fileadmin
folder that can be mounted from an external resource, such as Network Attached Storage (NAS). See the next recipe Setting up an NFS share to see how this can be accomplished.
We have now arrived at a highly scalable set up. Should the traffic to the application increase, extra nodes—either web servers or database servers—can be added. This also allows for failover in case of hardware or software failure. These setups are more complex and are outside the scope of this book.
See also
Setting up an NFS share