I know my DD is younger but we have a set and regular routine:
5.30 - 6pm - Dinne
6.30pm - Bathtime
7pm - Bottle and quiet time. Whether this is sitting on the lounge watching the wiggles with a bottle or cuddles or books
7.30pm - kiss and cuddle for mum/dad whoever isn't putting her to bed then we walk to the bedroom, find teddy, put music on, kiss goodnight lights off, close the door.

There are times where this doesn't work and it takes longer to settle her but a regular routine has helped.
* Can you put a gate on the door instead of a lockable handle? Then your DS will know your still there but can't get out.
* Maybe a go shopping for a toy of his choice that he is ONLY allowed to have at bedtime?
*Do you go in at every cry? Maybe letting him whinge (not to a point of distress) and seeing if he settles and only going in every 5mins or so?
*Is there an obvious reason ( I know my brother had "issues" with things in the cupboard, we ended up making "magic spray")

If I think of anything else i'll come back and post.
HTH in the meantime.