Okay, so black for a background color is definitely out. Use white for the body.
Red is a good secondary color, but you should use a slightly lighter shade. Use it appropriately, as it's a bold color.
You may or may not want a 3rd color. Black is a good choice for things like borders.
A 4th color could also work. Light tan/beige is a natural fit.
One hypothetical layout would be to have that light tan/beige as the body's background color. The width of the site's container would be a bit narrower, and the container would be white. This would allow the beige to show without it being the background color of your text. Red for the header, footer, and any title bars (look at how this forum does post titles with the gradient blue bars), and black for borders.
Also, never rely on family members/friends to gauge your work. For one, they won't be critical out of fear for hurting your feelings. Second, unless they're designers, they won't know what to look for anyway. Finally, some clients (not just family) don't really get what a site is supposed to do for them. They think that so long as something, anything is online with their name attached, it will generate more business for them. It could be a .png of a leper in clown makeup, but, hey, they have a 'site'. These people are less interested in actually seeing their own site than the mere fact that it's online at all.
Instead, post here or on other design forums. The responses you get have the potential of being harsh, but for the most part they'll be accurate.