I am planning to build a web app running on a single computer and exploit the hardware resources as efficient as possible. The logic of app will not be complex. The following is my design:
OS: Linux (CentOS 5)
Web Server: Nginx
Web script: PHP
Database: Tokyo cabinet + Tokyo Tyrant
Index: Sphinx
I am not going to use RDBMS such as MySQL, cause I think a key-value store (Tokyo cabinet) with a indexer (Sphinx) will meet all the needs to deploy a normal web app, also with better performance than MySQL.
My question is: is this design to be the an efficient architecture for a single computer? Or how to improve it?
(I know this question might to be subjective but I really need your help)
Thank you very much~
EDIT:
The computer I am going to host my app on, is a normal PC, like 8GB~16GB memory, 500G~1TB Hard disk, etc. I think it won t need to consider the "scalability". Every first step of a web app is started from one machine and it will always the beginning.