Dear Parent, you gave me quite a bit of information simply from the way you worded your question. I truly believe you are doing your best and are motivated to be the best parent you can be. That is why you went to the effort of writing your important question.
Let's begin with the fact that most three-year-olds whine. However you slice it, whining in a three-year-old is age-appropriate behavior. I am not suggesting that it is desired or okay, it is just typical. Next, no one should be yelling at a three-year-old, nor should he ever get tickled if he doesn't want to (it can be painful).
The best way to empower your toddler son, raise his self-esteem, and "toughen him up" may surprise you.....you need to empathize with him out loud in short, simple narrative language that gives your child a feeling of being seen, acknowledged, understood, and validated.
For example, if he falls down and scrapes his knee and cries, instead of saying "It's no biggie, let's move on," try saying, "Ouch, that hurts!" Be sure that your voice, affect, and body language genuinely mirrors his pain. Another example may be if it's dinnertime and he begs and whines that he wants to go to the park. Instead of raising your voice with frustration and repeating, "No," try empathically saying, "You know, it's so hard not to get what you want when you want it (theme of the 3 year-old!)....you want to go to the park and now it time to eat dinner and then get ready for night-night time. We will go to the park tomorrow after lunch." (When telling your child when he can have what he wants be sure to attach it to a familiar activity such as "after lunch," "before nap," "after bath", etc.)
Once you do this routinely and repeatedly when he is disappointed, angry, sad, hurt, frightened, or worried, he will eventually internalize your supportive compassion and be able to tell himself this without your help. Cracking down harder on a child only makes him weaker. The path toward empowerment is through empathic support. Good luck!