You need to judge both your original track levels and your overall mix level using the meters on your DAW rather than judging by the perceived loudness on your monitors.
Best practice is to get your original tracks at the right level (averaging about -18dBFS on your meters with peaks allowed to go higher then, as you mix tracks together, let the mix level creep up higher. There's no rule about where your first trial mix should sit, but I try not to let this go above about -3dBFS, often a bit lower.
Then, yes, normalise to just below 0dBFS (I use -.1dBFS but others have reported problems pushing it this hard so you'll have to experiment with your system.
Finally, to approach the perceived loudness of commercial recordings, you'll have to be playing with compression and hard limiting in your "mastering" process. Use of those tools can be the subject of not just a thread but a book so I suggest some searching in the FAQs and on Google!.
Bob