To deploy a new version of our website we do the following:
You need 2 servers and a load balancer. Here's in steps:
Thing is, even in this case you will still have application restarts and loss of sessions if you are using "sticky sessions". If you have database sessions or a state server, then everything should be fine.