Have a look a the lighttpd webserver.
APC might be another good start.
As for mysql optimizations, no general answer can be given, since there are too many factors that determine what the optimum configuration would be in each specific case. Even things that sound as they're definitely a good idea, such as using the query cache, may degrade performance.
However, you can generally assume that configuration optimization will yield little performance boost compared to query optimization. No reason you shouldn't do both, of course. Every bit helps.
But just don't forget that no configuration optimmizations or hardware upgrades will ever solve the problem of scaling inefficient code. Optimizing code efficiency is the only thing that does that.
In any event, it's not a topic that can be answered or covered in a few lines... Either you have a lot of reading and learning ahead of you, or consult experts for the tasks you need help with, such as paying MySQL for support to optimize your database configuration.