Hi Steve,
For a staging server, first of all, I would suggest you to use GIT. Put your entire project into a git repository. There are plenty of git servers on the internet. I recommend Github (free for no-private repositories) and Bitbucket (free for single user). After that, you may create an account in dploy.io. This application deploys you code into the server. You should do this: configure the production server deployer and set the deployment to manual. Then, configure the staging server deployer and set the deployment to automatic. The result is: when you commit your code to git, it will appear automagically in you staging server. When everything is allright, you can click on the deploy button of the production server deployer at dploy.io and deploy your project live!