I don't have any experience with the mirrors functionality, but I can try to help from when I set up our private company nexus server. When you specify an id in your pom it should match the same id that you defined in your settings.xml. So what you want to do is something like this:
<servers>
<server>
<id>terraframe-releases</id>
<username>myUsername</username>
<password>myPassword</password>
</server>
<server>
<id>terraframe-snapshots</id>
<username>myUsername</username>
<password>myPassword</password>
</server>
<server>
<id>terraframe-thirdparty</id>
<username>myUsername</username>
<password>myPassword</password>
</server>
</servers>
In your pom you then reference those same ids:
<distributionManagement>
<repository>
<id>terraframe-releases</id>
<name>terraframe-releases</name>
<url>http://terraframe.com:8081/nexus/content/repositories/releases/</url>
<layout>default</layout>
</repository>
<snapshotRepository>
<id>terraframe-snapshots</id>
<name>terraframe-snapshots</name>
<url>http://terraframe.com:8081/nexus/content/repositories/snapshots/</url>
<layout>default</layout>
</snapshotRepository>
</distributionManagement>
In addition, if you're on your own local network (behind a router for example) and the url http://my-nexus-server:9090
is being hosting internally (on a localhost or 192.168. address) you more than likely won't be able to hit that local server with the external domain name http://my-nexus-server:9090
so make sure you specify it with localhost everywhere it asks for it.