Использовать puma не обязательно. Но можно если хочется.
Если хотите на сервере держать несколько ресурсов, то достаточно настроить рельсовые сервера на разные порты или unix-сокеты.
А в настройках nginx нужно будет прописать несколько секция server. В каждой секции будет свой server_name (доменное имя ресурса) и каждая секция будет проксировать (через секцию proxy_pass) запросы на свой рельсовый сервер (порт или unix-сокет). И нужно не забыть настроить для каждой секции директиву root так что бы она смотрела на public директорию нужного ресурса.