When my son went through this stage, we knew we had to do something immediately. There were just WAY too many hazards in our house (even with it being "baby-proofed") to risk letting him play unsupervised at night.
So we cleared out all of the toys/books from his bedroom and basically made it the most boring place on Earth. We also did some additional baby-proofing (anchoring the dresser, etc.) to make sure it was as safe as it possibly could be. Then we removed the door handle and flipped it around so we could lock him in at night. I was sure to keep his baby monitor up loud so I could hear him if he needed me. But honestly, once he realized he couldn't get out (and there wasn't anything fun to do in his bedroom) he quit trying and started sleeping in his bed again. Eventually, we were able to switch the doorknobs back.
It sounds a little strange to lock your kid in their room (à la Cinderalla) but it truly is the safest thing to do. What if your house were to catch on fire at night and your son wasn't in his room? It would take you precious minutes to search the house for him and it could be a matter of life or death. And anyway like I said, once your son gets past this stage, you can switch it back around.
Best of luck to you, Sweetie. :-)
P.S. I noticed some other moms recommended a baby gate, but my three year old was more than capable of climbing over one of those and I'm sure yours is too. You could try it, of course. Maybe it will be enough of a deterent. We have always closed the kids bedroom doors at night, though, so it really wasn't a big deal to just lock it.