刚学习go的时候,随便写了几个接口,想挂到服务器上去玩玩看。

这里用beego框架

window环境下交叉编译到linux需要在项目路径下执行以下代码

SET CGO_ENABLED=0

SET GOOS=linux

SET GOARCH=amd64

go build test.go

执行以上代码后项目底下会出现  test 文件该文件为linux64位可执行文件

把 test 放到linux服务器上 运行./test 

出现如下错误

原因:

打包后的main执行程序默认是以runmode=dev方式运行的,所以提示

panic: you are in dev mode. So please set gopath

解决:

将你的conf文件一同放到main同路径下如下图:

在执行./test执行文件 ,成功~

验证:

curl  127.0.0.1:8080 (自己配置curl)

nginx 反向代理:

如果项目有swagger参考以下配置 ,没有也没关系

server {
    listen       80;
    server_name  test.b.com;

    charset utf-8;
    access_log  /home/b.com.access.log  main;

    location /(css|js|fonts|img|swagger)/ {
        access_log off;
        expires 1d;

        root "/path/to/app_b/swagger";
        try_files $uri @backend;
    }

    location / {
        try_files /_not_exists_ @backend;
    }

    location @backend {
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host            $http_host;

        proxy_pass http://127.0.0.1:8081;
    }
}

Logo

更多推荐