Какой сервер нужен для asp.net core?
1 - все тайны тут https://docs.microsoft.com/ru-ru/aspnet/core/?view... (второй абзац)
2 - если хостить будет на винсервере - доступны все варианты, если на линукс - IIS не доступен
3 - даже mssql server доступен на линукс
4 - В сайт заходит в 50000 человек в день а это уже вопрос к железу, а еще он зависит от архитектуры самомго приложения, и от архитектуры базы. оценить железо без нагрузочного тестирования невозможно
5 - а вот что бы подробнее спрашивать скорее всего надо нанимать специалиста, это уже на площадки фриланса
asp.net core кроссплатформенный поэтому выбор ОС - это уже дело предпочтения. Хотя если ms sql server, то скорее это все же windows. asp.net core поддерживает ISS и Kestrel, однако у последнего достаточно ограниченные возможности, поэтому обычно если не хотят использовать ISS, то ставят NGINX и прописывают маршрут к Kestrel. 
Что касается железа, если сайт более менее оптимизирован, то ср. запрос выполняется примерно 100 мс и соответственно на одноядерной машине мы за минуту в ср. сможем обслужить 600 пользователей, если 2 ядра, то уже 1200. Поэтому Вам надо определиться с максимальной пиковой нагрузкой и рассчитать исходя из нее параметры процессора. Далее в asp.net CORE один запрос в ср. занимает 3 кБ памяти, соответственно, 1000 пользователей уже будут требовать порядка 1 МБ. Этот параметр также зависит от пиковой нагрузки.
* если вы будите использовать asp.net, то память под запрос будет порядка 20 кБ