You should watch your dog, he will tell you how he is feeling.
For example, all three of my dogs react very, very differently to the approach of a child.
1. Levi - Sits, and turns his head, looks at me, licks his lips, will occasionally back up. Pretty clear indications he is uncomfortable, but managing the situation. Depending on the age and intensity of the child, they may approach and toss him a treat, but I don't really let children pet him.
2. Heidi - Ears backs, whole body is loose, tail swooshing, and she will "smile" while walking forward. VERY happy to meet the children, wants to receive all the pats. She is a dog that I feel very comfortable letting children meet.
3. Logan - Tucks tail, backs up/hides behind a person, or will roll on her back/potentially urinate. VERY uncomfortable. I do not ever let children pet her, and I try not to let them approach.
You can certainly work on desensitizing and counter conditioning him to things he is afraid of (Logan used to lunge and bark at dogs, now she is very happy to see them because she has a HUGE reinforcement history for dogs = cookies), but they may never be comfortable in a situation.
Some dogs are better off-leash because they can move away if needed. I would get some books or take a course (like This one
). Your dog will be the best indicator of how comfortable he is in a given situation.