Я не думал, что есть «лучший» способ, просто много разных способов, и у каждого есть свои плюсы и минусы.
Настройка Apache, как вы сделали, возможна, и я не понимаю, почему это должно быть плохо. Другой способ - «смонтировать» каждое приложение к пути. Это дополнительно описано здесь: http://suryahunter.com/wiki/hunter/perl_ironman/mount_multiple_apps_with_plack
Если вы обычно используете PSGI / Plack, вы можете использовать любой веб-сервер, а также Starman или другие веб-серверы Perl. Какой из них вы используете, зависит от вас. Используйте тот, где вы считаете, что он имеет лучшую производительность, или тот, который вы знали лучше всего.
Также подумайте, что когда вы запускаете свой сервер, вы, вероятно, захотите автоматически запустить ваше приложение, и у Apache, Nginx, LightTPD, ... уже есть сценарии запуска. Если вы также хотите разместить другие веб-сайты, возможно, лучше использовать один из этих веб-серверов.
Я предпочитаю FastCGI для запуска вашего приложения. С FastCGI ваше приложение запускается независимо от вашего веб-сервера, а также может запускаться с другими правами пользователя вместо mod_perl, где все приложения работают под тем же пользователем, что и пользователь Apache. Это также дает вам преимущество в том, что вы можете перезапустить приложение, не перезапуская весь веб-сервер (Apache).
Что ж, и благодаря этой независимости вам, вероятно, понадобится больше оперативной памяти для запуска одного и того же объема приложений, потому что вы запускаете свои приложения несколько раз вместо использования совместного использования, которое дает вам Apache / mod_perl.
В конце концов, это зависит от ваших потребностей в том, что лучше.