Self-organizing overlay networks are emerging as next generation networks capable of adapting to the needs of applications at runtime. Applications performance significantly depends on the structure and behaviors of the underlying self-organizing overlay networks. To achieve desired performance, not only the logical overlay topology but also the behaviors of nodes in this overlay network need to be optimized. Moreover, self-organizing overlay networks are extremely dynamic, unreliable and often large-scale. It is therefore important to design new optimizing approaches to meet these challenges. In this paper, we present an evolutionary optimization methodology for self-organizing overlay network. The optimizations of selforganizing overlay networks are modeled as dynamically evolutionary process, in which the nodes interact with each other, change their internal structures and alter their external links to improve the collective performance. To design appropriate fitness functions and rules that guides the direction of the evolution, overlay network can reach a stable state with desired global application performance eventually. Such a methodology leads to our distributed algorithms for proximity-based overlay topology maintenance and Peer-to-Peer living media streaming, in which every node in the overlay network rewires their behaviors and connectivity according to local available information and embedded rules. These algorithms are shown to perform well using simulations.