We upgraded to Web8 . We would like to setup two website "staging and testing" on a single server for this i need to configure two deployer service. will this setup require separate discovery service as well for both website??
Yes - even though you're on a single machine, each environment is completely independent of each other, so everything needs to be duplicated.
Deployer, Discovery, Website, etc, must all be duplicated (and make sure to use different ports for the services).
In a nutshell, it's not different from doing it in multiple machines.
As Nuno said, it is possible to install it all on one box.
When the services are installed, before running the PowerShell scripts, make sure to update the port number and name in the installService.ps1 script. You don't need to worry about the uninstall as it creates a text file with the service name in it for later.
Also, after installing it is expected that the installer will not show a 'running' service in the first try because it takes a while for the service to startup and listen. In my experience it takes 3-5 attempts before a green comes back.
If it still doesn't start, then try to start it from the Services window, and also check your log files for more info...