본래 여진족이 살던 두목리(豆木里)였는데, 고려 충렬왕 때 처음으로 만호(萬戶)를 설치하였으며, 공민왕 때부터 사람들이 점차 불어나 이곳에 만호ㆍ천호 등을 곳곳에 설치하였다.
1402년(태종 2)산양호(山羊湖)ㆍ도을한(都乙漢)ㆍ봉화대(烽火臺)ㆍ등이언(等伊彦) 지방을 합하여 이주(理州)라 하였다. 1413년(태종 13)이산군(理山郡)이라 개칭하고, 세종 때 군읍을 앙토리(央土里)로 옮겼으며, 세조 때 진(鎭)을 두었다. 경종 때이산부(理山府)로 승격하였으나, 1777년(정조 1)초산군(楚山郡)이라 개칭하였다.
조선시대에는 이곳이 압록강변의 국경지역으로서 아이진(阿耳鎭)ㆍ차령진(車嶺鎭)ㆍ산양회진(山羊會鎭) 등의 진보(鎭堡)가 있었다. 기발(騎撥)이 6개 지역에 설치되어 남쪽으로 연결되었고, 합지산(蛤池山)ㆍ송봉(松峯)ㆍ구천산(九天山)ㆍ고연대산(古煙臺山) 봉수 등이 의주쪽으로 이어졌다. 당시에는 이곳에 5개의 장시(場市)가 설치되어 물자를 거래하였다.