очевидно что надо дедикейт в аренду а не городить свои глупости, если уж самим делать то надо серверную стойки два канала упсы
один сервер не умеет масштабироваться
безопасность это никак не повысит это раз
выносить бд надо если основной сервер не справляется и вы решили масштабироваться и это самый простой первый шаг
все ваши мысли не верны.
для статики вообще хватит двухядерного впса fastvps.ru/vps
У фествпса вроде стандартная защита от ддоса есть, а заддосить статику не так уж и просто + подключите тот же cloudflare
504 это таймаут, логично что скрипты не успевают отработать
правильная стратегия смотреть что происходит со скриптами
временный фикс увеличить все таймауты в нгинксе и пхп
Оптимизируете бд
настраиваете полное кеширование в каком нибудь варниш
переходите на стек nginx + php-fpm
произовдительность моего вп можно глянуть на примере моего блога pumainthailand.com