To obtain new migrants for your village, you must do two things. The first is to provide a free Personal Room for each new citizen you want to attract. Second, you need to keep your existing citizens happy. To do so, make sure they have their own Personal Room with a bed and Decorative Items. Have a dinning room with Tables and Chairs. Also, make sure your citizens have some idle time. You can do this by not giving any orders. Deaths make citizens unhappy so try to avoid them.
Having just a Personal Room for them can be enough, though, so if resources are tight, don't fret. A good tip to encourage immigration to your village is to create a stockpile of food and don't give any orders. Once your villagers are happy enough (~20 happiness give or take), more villagers will arrive.
Killing monsters that stray close to you town will also increase your villagers' happiness. Letting a monster stay too close to your town will result in your citizens becoming unhappy.