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 + b_12^{x_1}$$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.