J.O.
Greetings! He is old enough to understand that his actions have consequences so I think that you should try a sticker chart. With the sticker chart start with going to bed; if he goes to bed without a tantrum he gets a sticker, if he lays down and falls asleep after a short story (or other brief routine) he gets another sticker; finally, if he stays in his room quietly all night then he gets a 3rd sticker. Then in the morning, if he has all of his stickers he gets a small toy (from the dollar store), special privilage, or treat. Continue this approach until he has several days in a row where he's gotten all 3 stickers then up the ante a little where he has to get all 3 stickers for 2 or 3 days in a row before he gets a treat. Finally see if he can go a week or more before he is rewarded.
Also, try giving him a special toy that would be motivating to play with in the dark (one with lights or glows in the dark). He can only have the toy in bed (or in his room at night)if he stays quiet. When morning comes the toy gets put away. This way he has an incentive for staying in his room/bed.
Hope this helps!!!