가장 큰 이유는 대부분 서버 프로그램들이 유닉스를 기반으로 하고 있고 리눅스가 유닉스에 호환되기 때문입니다.
일단 유닉스는 본래 유료OS입니다. 하지만 리눅스는 유닉스와 호환되게 만들어 무료로 배포되었기에 인기를 끌었습니다. 특히, 돈없는 학생층이 이용했습니다. 그리고 그 학생들이 커서 거대 기업을 만들게 되었고(Sun, Redhat, SUSE 등등) 이러한 리눅스를 이용한 서버 상품들이 시장에서 많이 팔리게 되면서 대부분 서버가 리눅스가 되었습니다.
그리고 전세계의 내노라 하는 사람들이 개발에 참여하는 리눅스 특성상 커널 단계에서 최적화 하는 경우가 많습니다.
특히 네트워크 패킷 처리를 윈도NT에서는 네트워크 카드의 드라이버가 처리해서 커널에 넘기지만 리눅스는 커널이 네트워크 카드에 접근해서 직접 처리합니다. 서버는 특성상 네트워크 IO와 파일IO가 빈번한데 이 한단계가 줄어든것만으로도 엄청난 성능향상을 꾀 할 수 있습니다.
잘 모르겠다면 마인크래프트 서버의 경우 윈도우는 리눅스의 2배나 되는 성능을 요구 한다면 이해가 되실 수도 있겠네요. 즉, 그만큼 서버에서 성능이 매우 훌륭합니다.
결론은 최적화된 서버프로그램+ 훌륭한 IO성능+저렴한 비용이 원인입니다.