多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## Golang 支持在一个平台下生成另一个平台可执行程序的交叉编译功能。 Mac下编译Linux, Windows平台的64位可执行程序: ``` CGO\_ENABLED=0 GOOS=linux GOARCH=amd64 go build test.go CGO\_ENABLED=0 GOOS=windows GOARCH=amd64 go build test.go ``` Linux下编译Mac, Windows平台的64位可执行程序: ``` CGO\_ENABLED=0 GOOS=darwin GOARCH=amd64 go build test.go CGO\_ENABLED=0 GOOS=windows GOARCH=amd64 go build test.go ``` Windows下编译Mac, Linux平台的64位可执行程序: ``` SET CGO\_ENABLED=0 SET GOOS=darwin3 SET GOARCH=amd64 ``` go build test.go SET CGO\_ENABLED=0 SET GOOS=linux SET GOARCH=amd64 go build test.go GOOS:目标可执行程序运行操作系统,支持 darwin,freebsd,linux,windows GOARCH:目标可执行程序操作系统构架,包括 386,amd64,arm ## 使用bee工具打包 `bee pack` 会顺便把静态文件也打包起来,生成一个***.tar.gz文件,将这个文件复制到你的服务器上,再解压到wwwroot/go/blog/目录下,再启动 ``` nohup ./blog & ``` 看一下启动的服务内容 `tail nohup.out` ## nginx反向代理 监听8090端口,你可以部署为监听80端口 服务器名为localhost,你可以部署为你的域名 然后将你的127.0.0.1:8091反向代理到你的网站上。 将以下test.conf放入nginx/server/下,重启nginx就可以了 ``` server{ listen 80; server_name test.com; location /{ try _files / _not_existes_ @backend; } location @backend{ proxy_pass http://127.0.0.1:8080; } } ``` ![](https://img.kancloud.cn/04/38/0438c4d43f1860aa9c2205d6fd5de9e8_1339x428.JPG) ### ngin双机部署 ![](https://img.kancloud.cn/30/ed/30edfbc98561c0a2892ad9fff6f9258b_1223x494.JPG) 问题来了,双机部署后,session永远没法存在一个机器上,所以要在upstream中加入ip_hash, 如图: ![](https://img.kancloud.cn/c6/4f/c64fdc12a73b945105c28b408a9e824f_1216x495.JPG)