东广州府永安县知县（现紫金县知县）。后由鲍国珍接任。以后，补德庆州、顺德、虎门同知，因镇压太平军升暑惠潮嘉道。同治（1862年）调天津制造局，补天津道，擢顺天府尹。光绪二年（1876年）任福建船政大臣，光绪四年（1878年）以光禄寺卿署福建巡抚兼理船政和台湾海防。他亲临台湾组织农耕、修路、设防，改善土着生活；曾取道恆春，过红土嵌山，攀悬崖，越大溪，忍饥渴，径行三百里达卑南，恩泽和感化土着人；带病率部过瘴区越湿地，平定土着人叛乱；深入各地察民情，办防务，密切海岛与大陆的关系。光绪五年因病辞船政事务、巡抚开缺。