'Start a http server and rebuild on changes.'

def serve(self, browser=True, port=8000):

    self._parallel = PARALLEL_DISABLED
    self._port = port
    self.verb = self.VERB_SERVE
    self.clean()
    self.build()
    logger.info(('Running    webserver    at    http://127.0.0.1:%s    for    %s' % (port, self.build_path)))
    ipc.signal('server.didstart')
    logger.info('Type    control-c    to    exit')
    with chdir(self.build_path):
        self.listener = Listener(self.path, self._rebuild, ignore=self._rebuild_should_ignore)
        self.listener.run()
    self.server = WebServer(self.build_path, port=port)
    try:
        self.server.start()
    except (KeyboardInterrupt, SystemExit):
        self.server.stop()
        logger.info('Bye')
