A lot of Googling, most of which concentrated on StackOverflow discussions. Redis and ØMQ both have fantastic documentation, so it's easy to get started there; LXC was really a matter of trial and error. As for the more abstract concepts (networking/distributed computing), I would start on a Wikipedia article (http://en.wikipedia.org/wiki/Distributed_computing for instance) and click links and jump from article to article for hours.
Books are great, but I prefer using solely online resources to learn; I find it to be a more efficient use of my time. Though there are notable exceptions: The Pragmatic Programmer (http://pragprog.com/the-pragmatic-programmer) and Getting Real (http://gettingreal.37signals.com/) come to mind.