Bitbucket has "Web Hooks" that you can use for this kind of thing. I have a super simple php script that allows me to pull on remote servers. Just put this in a php file
<?php
shell_exec('git pull origin master');
?>
Then, on the Bitbucket website, go to the repository settings and select "Hooks". Add a POST hook that POSTs to the location of this file on your remote server. Now, whenever you push changes to your Bitbucket origin, the master branch will be updated on your server.
The obvious downside to this is that you need to have some public address for this php script to live at. Look through the other Hook options if this doesn't work for you. Github has a similar feature, never used it though.