Your work station OS is irrelevant, if you are developing on server 1 and publishing your site on server 2. The goals are relatively simple. The modified database content and any modified files ready for production simply need to be moved from the development location to the live location. The simpler you keep that process, the less heartache you're going to have.
Three very important things to remember:
If you're more into the idea of automation and don't mind some technical challenges, plugins like this SitePush - or something that provides a similar solution may be worth exploring. (Not a plugin endorsement, I've never used it.)
Some ideas and resources: "how to" wordpress staging and a list of some of the discussions that can be found on the topic just here in the forum site:wordpress.org/support wordpress staging