Linear regression can accommodate non-straight-line relationships between IVs and the DV through various transformations of variables, addition of polynomial terms and so on.  

That is a model like

$y = b_0 + b_1x_1^2 + b_2x_1 + b_3x_3^5$

is a linear model.  But a model such as

$y = b_0 + 2^{b_1x_1}$

is not. 

If the data are *really* nonlinear, then the choice of model depends partly on what you know about the relationships. If you don't know much, a spline regression may work well.