朱元璋在建立明朝的时候,曾为定都的事烦恼。当时一共有三个地方可选,一个是曾经的元大都:北京,一个是六朝古都金陵(南京),还有一个是朱元璋的老家凤阳。在这三座城市中,朱元璋摇摆不定,一直拿不定主意。
后来经过大臣的劝谏和朱元璋自己的考量,他认为凤阳地方偏城市小,用来当祖庙还可以,不适合作为国家的政治中心,于是凤阳就被pass掉了。再加上当时北元在北方蠢蠢欲动,所以北京当时也不是一个安全的地方,所以朱元璋将都城定在南京。

后来朱元璋第四子朱棣发动靖难之役,将自己的侄子朱允炆赶下了皇位,自己做了皇帝。鉴于种种原因,朱棣将都城从南京迁到了北京,而南京则成为了陪都。
众所周知,北京地处边疆。其西北方,除大同宣府外无险可守。而辽东虽然有号称天下第一关的山海关,但是其山海关--北京之间一马平川,无险可守。一旦山海关被突破,北京就危在旦夕。
因此明朝也被称为天子狩边或天子守国门。事实上,北京城也数次被异族围困,但是都成功的化险为夷。

一、 第一次围困,土木堡之变
明正统十四年,明英宗朱祁镇不听大臣劝阻,执意御驾亲征。他亲征时带走了北京城内精锐三大营共计20万人(一说五十万人),但是因指挥不慎,于土木堡全军覆没。此役使得明朝禁军损失殆尽,其大同至宣府一带的守军因没有支援也是危在旦夕,而大同和宣府一旦被突破,那么北京城内的老弱残兵根本就抵挡不了瓦剌也先的冲击。
当时迁都的呼声很高,眼看大明就要重蹈宋朝的覆辙,忠臣于谦站了出来。此时的于谦,刚刚升任兵部尚书,因此负责统领兵部事宜。他先扶持监国的朱祁钰当皇帝,同时召集城中的老弱残兵,组成坚固的防线,接着下令全国各地的军队纷纷赶往北京勤王。

当时的明朝虽然中央的禁军已经损失殆尽,但是依然没有伤其筋骨,在于谦下令勤王之后,山东备倭兵,河南备操军,江北运粮官军都被填充到北京中,短短数天时间,北京就聚集了22万官兵,在人数上形成了对瓦剌的优势。
因此当瓦剌也先在攻到北京城下的时候,实际上就一定程度的决定了他的命运。当时北京部队全部出城,列阵城下,这就等于和也先打野战,但即使是这样也先也没能胜过明军。他先是攻击于谦镇守的德胜门,后来又攻击都督孙镗镇守的西直门,但均无功而返。当时明朝各地的军队也正在向北京城积极运动,而也先唯恐后路被切断,因此只能仓促退军。

二、 第二次围困,俺答的突然袭击
在嘉靖时期,由于承平日久,所以当时的守将军队战斗力较弱,再加上内有奸臣严嵩乱权,因此有能力的将领根本不能身居要职,这就使得明朝军队的战斗力显得颇为不堪。

鞑靼的首领俺答趁此机会出兵进攻明朝,以换取更大的利益。当时宣府和大同的守将是仇鸾,他的官位是靠贿赂严嵩的儿子严世蕃得来的,根本就不会打仗。因此面对俺答的铁骑,他只能选择妥协,当时他将贪污的金银都献给了俺答,希望俺答能放他一条生路,远离他的地界,而俺答也是一个诚信的人,在收了仇鸾的钱之后,立刻率领铁骑远离了大同和宣府,只不过他去的地方不太对,他去的是北京。

当时俺答的铁骑已经攻到了通州,此处离北京非常近,可以说是朝发夕至,北京城也是危在旦夕。但是俺答不是也先,他心理清楚,虽然自己攻到了北京城下,但是这座城却遥不可得,明朝的勤王部队很快就会赶到此地,因此俺答只要了一些财宝和权力,便匆匆的撤退了。
三、 第三次围困,袁崇焕的生死战
最后一次围困则是在崇祯时期,当时女真突然崛起,使得明朝辽东地区全部沦陷。朝廷派出了孙承宗和袁崇焕守辽东,这俩人建立了山海关--宁远防线,史称关宁防线,而且还组建了锐不可当的关宁铁骑。皇太极在强攻之后发现山海关固若金汤,以女真的手段确实是攻不下来。于是皇太极来了一招大迂回,他从辽东绕道,不打山海关,绕了一圈从宣府打进了关内。

宣府的守将看到女真的骑兵大惊失色,一触即溃。因此皇太极得以入关劫掠。当时是明朝晚期,军队的战斗力大不如前,因此此时皇太极完全可能攻下北京,占据明朝的半壁江山。
而蓟辽督师袁崇焕听闻此消息大惊,立即率九千关宁铁骑星夜驰援,只求下一步能先一步堵截住皇太极的部队。但是皇太极猜出了袁崇焕的意图,他数次绕路,终于来到了北京城下,而此时的袁崇焕也勉强赶到。随袁崇焕一起来的还有大同总兵满桂和宣府总兵侯世禄。
这三只军队,加上北京城的卫戍部队,这些人列阵城下,和满清八旗对冲,结果取得了胜利。皇太极只能在通州等地劫掠一番后撤退。

由此可见,北京虽然地靠边疆,但确实战略要地,一地被围,八方支援,因此还算得上的安全。但令人遗憾的是,北京城最终没有亡于外族之手,却亡在自己人手下。
明崇祯十七年(1644年),闯王李自成率军攻大同,此时明朝的军队已经毫无战斗力,而明朝的大臣们,依然判断不准李自成的行军路线,他们一致认为大顺军不会攻击北京,于是就没有下诏勤王。等到大顺军要打到北京城下的时候,明朝才慌了神,崇祯帝急忙下诏勤王,但为时晚矣,大顺军早已将北京城围的水泄不通。

由于京师的三大营已经形同摆设,所以不过数日,大顺军就攻进了北京,而明朝也宣告灭亡。
参考资料;《明史纪事本末》、《明史》