Assuming you have followed "Install from zip (fastest & best for bloggers)" from https://github.com/tryghost/Ghost and you are serving static content from /public/ with http-server.
My solution is to use Ghost's Express server to serve your content:
Download Ghost.zip and unzip at [path]/server/
Open up your Ghost's config.js file and change the url in development from http://localhost:2368 to http://localhost:2368/blog/
Now open open the index.js file in the same directory and add the following:
parentApp.use(express.static(__dirname + '/public'));
after:
parentApp = express();
where '/public' is the directory containing your static content.
Now, if you go to: http://localhost:2368 you will find your website and your blog will be at http://localhost:2368/blog/
To change to production, you need to make the appropriate changes and start with NODE_ENV=production npm start
. To change to port 80, you will only need to change the port inside config.js and this will serve both your site and the blog on 80. This will obviously give you insufficient permission issue and there's tonne of tutorials that show you how to setup Node.js on port 80 so follow that.