Generally, I'd suggest the following order of dymamic manipulation, but you don't always need to do all of them-
1st- Tame any wild, out of control or peaks or sections. Usually by reducing those in level manually with short volume envelopes for whistles, screams, PA overloads, feedbacks, etcetera, or even redrawing the waveform for errant pops, clicks, claps, balloon pops, shotgun blasts, etcetera.. or maybe by using something like a pop/click remover tool, or a carefully set limiter that only effects those out of control peaks and not the music (this step reduces the overall dynamic range buy taking care of just the topmost end of the range- only the loudest peaks, allowing you to raise the total range later). Listen to those loud parts and peaks to make sure you aren't doing more harm than good.
2nd- If you want to increase the level of the low sections compared to the louder ones, use compression, volume envelopes or try the parallel compression techniques- which can also raise the percieved low level details (this reduces the overall dynamics more evenly over their entire range). Listen to the body of the music, both the quiet and loud sections, this step effects the main portion of the dynamic range and pretty much all of the music, which is why manual volume evelopes or parallel compression can be more forgiving and easier to get sounding good than regular compression.
3rd- If the resulting file peaks well below 0 dBFS, peak normalize or manually add gain (this shifts the existing dynamics up to the top of the available range without otherwise altering it). This should have no sonic effect other than increasing the level. It's a good idea to not try and push it all the way to 0dBFS, but leave a small margin of safety of -0.5 dB or so. Some shoot for -0.3 dB, others leave their files peaking at -6 or -10dB and just turn up the playback volume. There are good arguments either way.