How to deploy golang to the server?

藏色散人
Release: 2020-02-01 14:43:01
Original
3811 people have browsed it

How to deploy golang to the server?

How to deploy Golang program to the server

Environment

Development Environment: mac

Production environment: CentOS 6.8 under virtualbox (virtual machine)

How to deploy golang to the server?

virtualbox

How to deploy golang to the server?

Server environment

How to deploy golang to the server?

Local development mac environment go env parameter

Process

go’s code

package main
import (
    "fmt"
    "log"
    "net/http"
)
func sayHello(w http.ResponseWriter, r *http.Request)  {
    fmt.Fprintf(w,"您看到我了")
}
func main() {
    http.HandleFunc("/",sayHello)
    log.Println("启动了")
    err := http.ListenAndServe(":9000",nil)
    if err != nil{
        log.Fatal("List 9000")
    }
}
Copy after login

That’s all, I won’t go into details about the meaning of the code.

The code has been written, and now it needs to be compiled. Since it is compiled from a mac environment to run under Linux, everything involves cross-platform compilation.

Compile code command

env GOOS=linux GOARCH=386 go build main.go
Copy after login

PS: 386 here is a big pit, here is the platform to run this packaged program. If it is Linux, you need to use uname -a to check the Linux system environment you are running. Common environments generally include amd64, i386, etc.

OK, after compilation is completed, a main executable file will be generated without a suffix. At this time, you only need to upload this file to your virtual machine and run it directly.

How to deploy golang to the server?

Run directly

If the effect shown above appears after running, it means it is running. At this time, if you open your browser and access your server’s IP: 9000, you will see the content as shown below

How to deploy golang to the server?

Browser Picture

That’s right It’s so simple. Today is my first deployment, and I’m quite surprised. It doesn’t require any language environment. For example, java programs need to install java on the server, and php needs to install Apache, PHP and other running environments. Go does not need any, only one A linux system is fine, just throw it in.

The following is the pitfall I encountered at that time

1. Cannot execute binary file appears

How to deploy golang to the server?

cannot execute binary file

The reason for this is that your compilation running environment is wrong, that is, the 386 above needs to be replaced with the environment of the server you are running. You can use uname -a Check.

2. It runs, but cannot be accessed

This problem is usually caused by your server's firewall or network problem.

You can simply and rudely turn off the server's firewall service iptables stop, and then see if you can access it. In a real production environment, it is not recommended to turn off the firewall.

If you deploy real online operations, you will definitely need some security, process guarding, etc. This article is just an introduction to deployment and will not discuss it.

For more go language knowledge, please pay attention to the go language tutorial column on the PHP Chinese website.

The above is the detailed content of How to deploy golang to the server?. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template