Specific methodology is going to vary a lot from person to person, everyone knows diet, exercise, socialization, etc, but I think an important aspect overall is accepting one's self as a human, which sounds a little gay, but I mean it more in the sense that if you feel like shit or you hate some situation, since you're a human like any other and not some bizarre automoton chances are not only is there a very good reason that you feel that way, but that chances are other people probably feel that way too.
We live in this bizarre transhumanist period where I think people get the perception that we've somehow transcended our humanity, or even worse, that humanity is a vestigial trait from a bygone era that we should be seeking to eliminate, so if you feel or think anything that's not in line with what (you often mistakenly perceive) is "normal", then that's a flaw that needs to be snuffed out.
And that's nonsense. Humans are a very solid species with a lot of very strong traits both physical and psychological, and emotions are a consequences of countless eons of honing passed down to you from generations of biologically successful ancestors, so treating them so dismissively is ridiculous.
So yeah, have a little more respect for your feelings and work with yourself rather than trying to beat your thoughts and emotions into submission like seems to be popular these days. It won't work, and the only thing that it'll lead to is stagnation and self hatred.