刚学习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;
}
}