Fighting near Beirut and in southern Lebanon has killed more than 630 people and forced at least 800,000 from their homes.