元朝末年,旱蝗频仍,饥疫流行,元政不振,天下大乱。正所谓“乱世出英雄”。元至正二十四年(1364),朱元璋即吴王位,建百官。二十六年八月,改筑应天城(今南京),建新宫于钟山之阳。十二月决定,以翌年为吴元年,建庙社宫室,祭告山川。二十八年正月初四日,朱元璋正式即皇帝位,定有天下之号曰“明”,建元洪武,以应天府(今南京)为都。洪武元年(1368)闰七月十一日,徐达与诸将率领的大军会师于山东临清,而后明军北伐。这月二十八日,明军攻克通州,元顺帝逃亡上都。八月初二日,徐达率军攻下元大都,改名北平。初九日,徐达命指挥华云龙经理故元都,即将元大都城北部废弃,于其北城墙南五里新筑北平城北墙,即德胜门、安定门一线城墙,长1890丈。当时的金中都旧城(时称北平南城)周垣尚有5328丈。十四日,“改大都路曰北平府”,一代辉煌的元朝大都,降格为北平府城。洪武三年四月,封皇四子朱棣为燕王。转眼十年过去,于洪武十三年三月十二日,燕王朱棣到达封国北平,以元故隆福宫为燕王府邸。因为已册立的皇太子朱标比其父洪武皇帝死的还早,所以明太祖洪武帝死后,便传位于长孙即已故太子朱标的儿子朱允炆,是为建文帝。建文帝在其辅臣的劝导下,为了保住皇位,千方百计地削弱甚至剥夺在各地称王的诸位叔叔的权势。俗话说“柿子先拣软的捏”,建文元年(1399)四月至六月间,湘王朱柏、齐王朱榑、代王朱桂、岷王朱楩先后被剥夺王爵,废为庶人。湘王朱柏还因此自焚而死。眼见大祸就要临头,难以躲过,这年七月,燕王朱棣在谋士姚广孝的鼓动下,首先领兵造反,打着“靖难”的旗号,先将北平附近收拾安顿了,然后率军南下,锋芒直指南京。经过三四年的刀枪挥舞、剑戟碰撞,于建文四年(1402)六月十三日,燕王朱棣的军队打进南京城,建文皇帝是藏起来了,还是逃跑了,是死是活,下落不明,反正朱允炆的小王朝是被推翻了。四天之后,燕王朱棣登上皇帝宝座,建元“永乐”,是为明成祖。
《明史·成祖纪》记载:永乐元年(1403)正月十三日,“以北平为北京”。二月初三日,“改北平府曰顺天府”。永乐四年闰七月初五日,“诏以明年五月建北京宫殿”,遂命工部尚书宋礼到四川,右侍郎师逵到湖广,户部左侍郎古朴到江西,右副都御史刘观到浙江,右佥都御史仲成到山西,分别督催军民采木,为修建北京宫殿准备物料。当时,采办木料的夫匠,每人每月给米五斗,银三锭。同时,命泰宁侯陈珪、北京行部侍郎张思恭负责督催军民匠夫烧造砖瓦,也是每人每月给米五斗。又命工部在全国范围内征调各种匠人,如木匠、铁匠、石匠、泥瓦匠、油彩匠等。命在北京的各军卫以及河南、山东、陕西、山西各都司,还有中都(凤阳)留守司并直隶(指苏皖二省)各军卫,负责选调军士;命河南、山东、陕西、山西等布政司和直隶凤阳、淮安、扬州、庐州、安庆、徐州、和州等地负责选调民工。所有被选调的匠人、军士、民工等,都在永乐五年(1407)五月赶到北京,参加营建北京宫殿城池的伟大工程。当时规定半年一轮换,每人每月给米五斗。
在永乐间营建北京宫殿城池时,因为要将太庙和社稷坛都建在宫城即紫禁城的前面(元大都时,太庙在齐化门内路北,社稷坛在平则门内路北),便将当时北京城的南城墙向南拓建约二里,即于崇文门、正阳门、宣武门东西一线新建北京城南城墙。结果,将元代本在文明门(大致在今东单十字路口南侧)外的一段通惠河圈入北京城内。在北京火车站所在地,旧日有泡子河,就是元文明门外通惠河的一段。永乐七年五月,决定在昌平县(当时昌平县治在今昌平西之旧县村)东的黄土山营造山陵,遂封其山曰天寿山。这些重大决策预示着明朝的国都将有重大变化。永乐十八年九月二十一日,永乐帝诏令“自明年正月初一日始,北京为京师,不称行在”。十一月初四日,“以迁都北京诏天下”。从此,北京成为大明王朝的首都。但半年还未到,十九年四月初八日,紫禁城内的前朝三大殿即奉天殿、华盖殿、谨身殿便失火烧毁。次年闰十二月二十五日,后庭的乾清宫也遭火灾。因此,明成祖永乐帝死后,继任者明仁宗于洪熙元年(1425)正月二十七日决定,将都城还是迁回南京,而北京的各政府衙门都称“行在”,代朝廷行使职权的“北京行部”和“行后军都督府”也都恢复,还设了北京“行都察院”。但是,国都回迁南京的事迟迟没有实际行动,大概是因为明仁宗在洪熙元年五月就死了,在位不到一年,未来得及迁都。皇太子朱瞻基继位(明宣宗)后,对于迁都的事,朝廷上下意见不一,故犹豫难决。宣德七年(1432)六月十七日,明宣宗埋怨皇城东安门外在通惠河边居住的人太多,又逼近皇城墙,整天喧嚣之声响彻大内,皇宫内不得安静,于是命行在工部将皇城东墙改筑于通惠河的东岸,即将原在皇城外的一段通惠河包入皇城内。那么,旧日在河边居住的居民迁到哪里去呢?原来在皇城西南隅墙外有广阔的空闲地,便将东安门外缘河居住的人家都迁往那里。所以,让锦衣卫指挥、监察御史、给事中各一人,三人合作实地估量应迁居民的旧居占地的多少,然后将皇城西南隅墙外的空地如数划给他们,让他们盖新房居住。《明宣宗实录》记载:第二天,行在工部说:修筑东安门外的皇城墙,估计需用六万五千人,民夫不足,请求由成国公朱勇所统领的士兵三万五千人帮助筑皇城东墙。宣德帝说:“现在这样炎热,怎么能轻易兴工呢?等秋凉以后再说吧!”话是这么说,但面对皇帝想移建皇城东墙的意愿,谁敢怠慢!当年八月十三日,皇城东墙就迁建于通惠河东岸了,皇城内的一段通惠河再也不能行船了。直到正统六年(1441)十一月初一日,重建乾清宫、坤宁宫二宫和奉天、华盖、谨身三大殿的工程告竣后,明英宗才最终决定“定都北京”,北京的文武诸司不再称“行在”。迁都南京的事化为泡影。
嘉靖中,蒙古俺答、朵颜、吉囊、阿不孩、瓦剌等部不断入塞侵扰大明北疆,甚至进到京城近郊,严重威胁着京师的安全。《明世宗实录》记载:嘉靖二十九年(1550)底,就有“重都城之守”、“筑关厢之城”等议论。在这样的背景下,有人说京师正阳门、崇文门、宣武门三门外关厢,应该修筑外墙,长约5780丈。再建门楼五座。如果让三关厢的居民,每家出一个劳力,共可得1万人,修筑三关厢外墙的工程100天就可完成。但兴工后不久就停了下来。三十二年三月底,兵科给事中朱伯辰上书,大意是说:我看洪武皇帝定鼎金陵(南京)后,当时就修筑金陵外城,皇帝考虑宏远,是为江山万年之计。永乐皇帝迁都北平,北京距边塞很近,为什么北京只有城而没有外郭呢?因为永乐间建北京时,可以说是营建都城刚刚开始,未来得及考虑周全。近来因为边境敌情告紧,皇上重视大臣的建言,要修筑南面的关厢外城,众多臣民太幸运了。但因为主管建外城的大臣方法不当,毁坏民舍,趁机敛财,惹得民怨沸腾。而且所筑外面城墙仅仅是正南一面,规制褊狭,所以墙未筑成很快就停工了。我个人认为城外居民很多,不下数十万户,又四方万国商旅来京,货物聚集,需要有外郭以围护。况且如今边塞警报频频,真是不可掉以轻心,不能不及时作打算。我曾经到四郊去走过,去看过,见四郊都有土城故址,几乎环绕一周,长约有一百二十里。如果仍然循着土城遗址,将低处加高,薄处培厚,缺处补修,断处接上,就可省工省力,收到事半而功倍的效果。
嘉靖皇帝就这件事征询大学士严的看法,严说:“现在修筑外城,是大家共同的心愿和期盼,如果修成了,也是一劳永逸的事。在修筑外城时,难免会遇到掘毁人家的坟墓,搬迁居民的房舍等这类事,为了修筑京师外郭这一大计,也就不能惋惜和抚恤了。”后经兵部会同户、工二部议定,请皇帝委派官员进行实地考察后,择日兴工。嘉靖皇帝还特别交代“外城须四面修筑,以全王制”。这年闰三月初十日,兵部尚书聂豹等奏称:臣等“相度京城外四面宜筑外城约计七十余里。……外城基址:臣等踏勘得自正阳门外东马道口起,经天坛南墙外及李兴、王金箔等园地,至荫水庵墙东止,约计九里。转北经神木厂、獐鹿房、小窑口等处,斜接土城旧广僖(熙)门基止,约计一十八里。自广僖(熙)门起转北而西,至土城小西门旧基,约计一十九里。自小西门起,经三虎桥村东马家庙等处,接土城旧基,包过彰义门,至西南直对新堡北墙止,约计一十五里。自西南旧土城转东,由新堡及黑窑厂经神祇坛(即山川坛,也叫先农坛)南墙外,至正阳门外西马道口止,约计九里。大约南一面计一十八里,东一面计一十七里,北一面势如椅屏计一十八里,西一面计一十七里,周围共计七十余里。内有旧址堪因者约二十二里,无旧址应新筑者约四十八里。……外城规制:臣等议得外城墙基应厚二丈,收顶一丈二尺,高一丈八尺。上用砖为腰墙垛口五尺,共高二丈三尺。城外取土筑城,因以为壕。正阳等九门之外,如旧彰义门、大通桥,各开门一座,共门十一座。每门各设门楼五间。四角设角楼四座。其通惠河两岸,各量留便门,不设门楼。城外每面应筑敌台四十四座,每座长二丈五尺,高二丈,收顶一丈二尺。每台上盖铺房一间,以便官军栖止。四面共计敌台一百七十六座,铺一百七十六所。城内每面应筑上城马道五路,四面共计马道二十路。西直门外及通惠河二处,系西湖玉河水出入之处,应设大水关二座。八里河、黑窑厂等处,地势低洼,潦水流聚,应设小水关六座。城门外两旁,工完之日,拟各盖造门房二所,共二十二所,以便守门人员居处……”
从上面所引《明实录》的史料来看,当时对修筑北京外城不能不说是踏勘认真,规划周密,设计科学,用心良苦。但是,自当年闰三月十九日建京师外城兴工后,还不到一个月,上从嘉靖皇帝,下到辅臣严和督理工程的官员,便一个个顾虑重重,大有要退缩的样子。四月十一日,嘉靖皇帝对辅臣严等说:“建城一事固然很好,但不可伤害财力,白白忙碌一番。如果城墙下部用土筑,上面包以砖石,必定不耐长久。必须围墙用土夯筑坚实,门楼用砖包筑可以承重。这样的话,一两年内定难完成。朕听说西面是最难施工的,这是开始时不可不预先考虑到的。”严将嘉靖皇帝的谕旨传示各督理工程的官员,其中陈珪说:“修筑四面重城,原来议定用土坚筑,只是其垛口、腰墙及各城门始用砖砌。只有西面地势低下,地多沙土,稍难施工。应该先筑完南面,再转筑东面、北面、西面,依次根据实际情况修理。”嘉靖皇帝批准了陈珪的意见,但他还是顾虑工程重大,需要大量人力、物力、财力,功成不易,主张先建南面,等到物力、财力都充裕时,再因地制宜,规划设计,以建成四面城墙。于是,嘉靖皇帝便让严与督理工程的官员进一步会商。会商的结果是:京城的南面,民多物繁,亟宜卫护。现在筑城的丁夫既已聚集起来,筑墙的夹板开始搭建,必须取好土夯筑坚实,以图持久。筑完一面后,结算用费多寡,其余三面,即可类推。在这之前的规划,原是四面筑墙,所以南墙横阔有二十里。如今既然只筑南面城墙,那么筑到十二三里时就当收缩,这样不至于浪费财力。现在准备将正在筑着的正南一面城墙,东折转北接京城东南角,西折转北接京城西南角,集中人力物力修筑坚固,可以按期完成。至于东、西、北三面外城墙怎么修筑,等再作计划上报。就这样,永乐年间中筑的北京城与嘉靖年间筑的北京外城相结合,形成了明北京城“凸”字形城郭。
自从明永乐年间迁都北京,军国之需,皆仰给于江南。换句话说,国都北京对米粮的需求,全赖京杭大运河的漕运。所以,明代京杭大运河的漕运制度日益详备。