It's perfectly possible to get multiple deployments behind a single Apache interface using mod_proxy.
Each app's settings need to be updated to use a unique port. For example, ports 3000, 4000, and 5000.
After that, you use mod_proxy with something similar to the below:
<VirtualHost *:80>
ProxyPass / http://localhost:5000/ retry=0 Keepalive=on
ProxyPassReverse / http://localhost:5000/
ProxyPreserveHost On
ServerName XXXXXXXXXXXXXXXXXXX
TimeOut 300
</VirtualHost>
By setting ServerName, you bind it to a specific subdomain.
You can use a Location directive instead if you wanted to bind it all to different urls:
<Location /production>
ProxyPass / http://localhost:5000/ retry=0 Keepalive=on
ProxyPassReverse / http://localhost:5000/
ProxyPreserveHost On
ServerName XXXXXXXXXXXXXXXXXXX
TimeOut 300
</Location>
However, if you're going to do this, Plack supports doing this at the App.psgi level, as described at https://metacpan.org/pod/Dancer::Deployment#In-case-you-have-issues-with-Template::Toolkit-on-Dotcloud (ignore the header and read, it is relevant).