Тауэр родился в местечке Кохассет в Массачусетсе. В 1837 он поступил в военную академию Вест-Пойнт и окончил её первым по успеваемости в выпуске 1841 года. Его определили вторым лейтенантом в инженерный корпус. В 1842—1843 годах он преподавал в Вест-Пойнте инженерное дело, а с 1846 года участвовал в мексиканской войне, где сражался при Вера-Крусе и Серро-Гордо. 18 апреля 1847 года получил звание первого лейтенанта за Серро-Гордо. В августе того года принял участие в сражении при Контрерас, за что 20 августа получил временное звание капитана. В сентябре участвовал в сражении при Чапультепеке, где был ранен, и в тот же день получил временное звание майора за храбрость.