Is it possible to use two servers (or more) for the same site, and with different data?
For example server1 has page1.html, and server2 has page2.html and they both can be accessed from www.site.com
. Is it possible?
How do you think that can be possible?
well, each DNS point to a specific server, but I see that I can specify a few servers, like NS1, NS2, NS3...
What I'm trying todo?
I have an existing website that based on php, and I want to extend the website with asp.net-mvc. Currently they are both installed on the same server, and files are in the same virtual directory. I want to split them to two different servers.
Server Details:
Windows server 2008 R2 and Windows server 2008.
PS
Can someone retag this q? I have no idea what's the right tags. Thanks.
You could use a Layer 7 load balancer to accomplish that (or a series of them in different data centers) which would direct requests for particular url patterns to the appropriate backend.
Varnish, Squid, Apache, Nginx, Lighttpd can all handle this somewhat well. LVS is a software load balancer (in kernel) for Linux that can do this http://www.linuxvirtualserver.org/ There are also commercial products that can handle it.
DNS will not route the requests to the proper server in the manner you want. DNS would route the requests to the closest load balancer (or round robin if you just published each of your balancer IPs) and then the balancer would figure out which backend to serve the content from.
Microsoft NLB will accomplish this. Just setup 2 different IIS servers, put them into an NLB cluster that does a 50/50 split on port 80/443 and then put your different versions of each website on each node's inetpub. configure your FQDN to point to the NLB IP address, and you'll start dishing out 2 versions of a website that can be accessed by navigating to a single URL.
Note, that this does not allow you to CHOOSE which node you are accessing, but rather guarantee that every other request will go to a different server
I am doing this in production today using the Reverse Proxy module in Apache. The ProxyPass directive will allow passing requests to different backend servers based on the incoming URL.
Setup the frontend Apache server to listen at www.site.com, then pass the requests to your two backend servers, server1 and server2 based on the requested URL. Googling Apache Reverse Proxy provides numerous howto's for how this can be done.