1 - Pretty much install golang (Using the built-in version: sudo apt-get install golang-go
or Detailed guide) and build the project or simply copy the built project and their libs if needed;
2 - Ideally, the production environment shouldn't include the source codes on most scenarios, therefore a built server could be better.
3 - Although not required, most people recommend to run golang behind a nginx. The reason for that is due to several optimizations (eg:static files serving) made on NGinx/Apache, which you would be missing on direct running your bin on server 80.
Side notes:
- the go run ...
is the same thing as the go build ...
+ run the built executable
- If you are just deploying the binary, build using the same OS / configurations.
- Remember to follow the basic security guides, just open the ports needed, secure the server before deploying, limit users access, etc.