When you love someone, you need to love yourself first!
YOU are more important than him, don't forget that. It doesn't matter if he gets angry or upset because he doesn't want you to go out with your friends. If you are having more fun with them than with him than leave him. If he doesn't like your lifestyle why are you keeping him in your life? Enough is enough, you deserve better...
If he's ungrateful with you and keeps saying that you don't do anything for your relationship, he doesn't deserve you.
I know you hate the way you love him, I know that you would die for him but he doesn't see that. Remember:

ALWAYS LOVE YOURSELF FIRST!