I can't comment , so I'll try to explain you what's happening here.
By default the HTTP port is 80 , when you open http://localhost you are telling the browser to do a "dns lookup" and after it finds the ip for localhost , it will try to open the connection using the default HTTP port. In this case localhost is set by default to route to http://127.0.0.1:80 . If you start your HTTP server at port 81 , your browser won't be able to find the server as it is trying to open a :80 connection.
If you want to keep the 81 port you could either change the browser configuration or change the HOST file to re-route localhost to 127.0.0.1:81.
Lastly , if you can't run at port 80 and you want to , you need to check for other software running at the 80 port and stop it.