Many people think the only place to meet people is pubs or clubs, but often they are not the best places. Partly, as you say, because many people do drugs or drink too much.
You are much better joining a social club where people have a shared hobby or interest which does not involve getting drunk.
For example, join a local theatre group and help put on plays. You can either be on stage or help behind the scenes.
There are also groups like Spice who organize all sorts of events for young people, see here:
http://www.spiceuk.com/
Also the Ramblers have walking groups for different ages, like 20s to 30s, see here
http://www.ramblers.org.uk/info/localgroups/yp .html
Rambling is a great way to meet people as just walking along encourages people to talk, and all of a sudden you find you have met someone you get on with.
Why not go to your local library. They have lists of local clubs and societies and you may find there is a group that may interest you, like Chess, Bridge, Local History, Deep Sea Diving, Archeology, Mountain Climbing, who knows.