Salem is a town in Rockingham County, New Hampshire, United States. The population was 28,776 at the 2010 census. Salem is a marketing and distributing center north of Boston, with a major amusement attraction, Canobie Lake Park, and a large shopping mall, the Mall at Rockingham Park.