I have a web site which will be featured in a place which will send a large peak of one-time traffic in a couple of weeks.
The server hosting the website also hosts the control panel my customers use.
The website part is simple and mostly static. But it includes a wordpress blog.
My question How and where can I put or cache the website and blog so that it will make it through traffic peak? For example, is it possible to host the pages on Amazon s3 so that they will be accessible via the regular urls on my domains without going through the server ?
EDIT:
I can change the urls of the control panel so that it will have its own subdomain and will remain on the main server. And force www.mysite.com for access to the company website and blog. Now, how can I make www.mysite.com/page1 read from amazon s3 bucket containing page1 html?
I'd wonder how much traffic you anticipate, what does your current server look like? How much bandwidth is available to it? What type of disks does it have? How much memory is available to it?
For your S3 solution, you'd need craft redirects to the S3 location, for example:
http://www.yourblog.com/InterestingPage1.html --> http://whatever-s3-url.com/you-get-for-page-1 http://www.yourblog.com/InterestingPage2.html --> http://whatever-s3-url.com/you-get-for-page-2
Tell us more about your server, please. What resources are available to you, such as CPU, memory, disks, bandwidth, OS, which webserver software, etc.?
A site that exists of only static files can usually handle a large amount of visitors on any decent server. Wordpress is another matter since it requires more resources to handle a request, but you should look at the WP Super Cache plugin, which generates static pages from dynamic content. It will make a large difference when your site is getting hammered.
I would not get into S3 or other CDN (Content Delivery Network) unless you're both an experienced developer and an experienced sysadmin (or you can hire someone who is). You'll need to figure out your real bottlenecks before diving into solutions that sound cool.
Start with some benchmarks to see how well your server performs. It's not exactly real life, but will give you a feel for its limits. ab (Apache Benchmark) is a good place to start.