I wouldn't run .NET software on Linux, I'd just stick to Windows Server. It's really solid nowadays, and there is enough choice (it isn't even more expensive than linux hosting). Check out Azure and AppHarbor for cloud hosting for example: they both work extremely simple, and have powerful capabilities.