大明王朝建立后,逃亡塞北的北元政權經常對北方邊境進行侵襲,嚴重威脅到了明朝的統治。朱元璋為了鞏固北部防線,多次派遣軍隊北伐,與此同時,還將北方邊境區域劃分為幾塊,分給自己的幾個兒子領兵駐守。剛開始設立了遼東﹑宣府﹑大同﹑延綏四鎮用于防守正北方向的北元主力。后來隨著北元活動區域的擴大,又增設了寧夏﹑甘肅﹑薊州、山西、固原五鎮,即為九邊重鎮。這些軍鎮有的軍隊數量幾萬,有的十幾萬,總兵力占了大明王朝全國兵力的 三分之二。
九邊重鎮的設置, 不僅考慮到了北元軍從薊州、宣府、大同諸鎮正面發起的進攻, 同時也考慮到了敵軍繞過甘肅、陜西、山西進行戰略迂回的可能,其軍事價值是相當高的,戰略眼光極其獨到,充分體現了環形防御的軍事戰略思想。因此一些歷史學家和軍事史家認為, 以九邊為主體的明朝長城體系是中國歷朝歷代中最完善的軍事防御體系。
遼東鎮駐地在遼陽城,為了防御北元在東北的活動,明朝先后建立了由山海關至遼東都指揮使司的驛站。后來又建立了屯田、冶鐵以及煮鹽等制度,供養軍隊,使廣大的遼東地區形成了一個完整的海陸防御體系。
薊州鎮駐地在薊州,所轄范圍東起山海關,西到居庸關的灰嶺口,總共1200余里。這段城墻在明王朝京師正北方,是保護京城安危的重要屏障,因此其城墻是用條石、青磚壘砌成的,異常堅固。居庸關一帶的城墻從北到南有三層,沿線關口眾多,分成了東、中、西三段防守。
宣府鎮駐地在宣化城,所管轄的長城東起居庸關,西抵山西東北的西洋河,總長約1000里。宣府鎮位于北京城西北方,對北京城的安全來說,其重要性絲毫不亞于薊州鎮。宣府鎮下分為東、西、北、中四路駐軍防守,堪稱咽喉要地。
大同鎮駐地在山西大同,明朝英宗天順年間,蒙古諸部進入河套地區,而大同距離河套又特別近。嘉靖中期以后,蒙古騎兵幾乎年年都會突破大同鎮邊防,大同軍民死傷慘重,疲憊不堪。
山西鎮又被稱作太原鎮、三關鎮,山西鎮在大同鎮的后面,主要作用是支撐和加固大同鎮,一旦敵人突破了大同鎮,山西鎮可以進行二次防御。
延綏鎮也稱榆林鎮,駐地在榆林城。延綏鎮位于陜北黃土高原之上,北臨毛烏素沙漠,位于萬里長城的中段,是明朝與蒙古人交戰最頻繁的地區之一。為了防備蒙古軍的入侵,明朝政府在延綏鎮一帶歷經幾朝多次大規模的修筑長城。
寧夏鎮駐地在銀川,其城墻沿著黃河而設,長約2000里。在平羅北部地區,修筑了東西并列的兩道城墻,封鎖了黃河到賀蘭山之間的空白地帶。在賀蘭山通向銀川平原的各個山口,也修筑了南北向的二至四道邊墻。
固原鎮駐地在固原城。所管轄的城墻在寧夏鎮南面,總共長1000余里。全線分東、中、西三路,東路白馬城,中路下馬房關,西路蘭州都是重要關口。
甘肅鎮駐地在張掖,所管轄的城墻東起定西,經民勤、永昌、山丹、張掖、高臺、酒泉諸縣,一直到祁連山北面,長1600余里。沿線重要關隘有甘州衛、肅州衛、永昌衛、涼州衛、鎮番衛和嘉峪關,尤其是嘉峪關,緊鄰塞外哈密衛,戰略位置最為重要。
明朝統治者在三百年間不斷地 加強和完善 九邊地區的軍事設施,從此徹底阻止了蒙古諸部的南下, 保護了廣大中原地區的安寧, 九邊的設置充分地發揮了其戰略防御功能, 堪稱古代最強防御體系。