Как вариант - посмотрите в сторону zRam, чтобы уменьшить занимаемый объём RAM. Но в этом случае - вы будете оплачивать экономию нагрузкой на CPU.
Через nginx распределите нагрузку на несколько серверов. Но в таком случае Вам придётся выделить отдельный сервер под БД и файловое хранение (не обязательно, но желательно), а так же решать проблему с пропускной способностью сети.