对于简单的项目,通常我们只需要将编译后的二进制文件拷贝到服务器上,然后设置为后台守护进程运行即可。
本文以项目 https://github.com/johncxf/go_practice 为例。
编译
编译为 linux 系统可执行的二进制文件,二进制文件为 ./bin/go-api,可自行修改
$ CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o ./bin/go-api可以使用 -ldflags "-s -w"参数去掉符号表和调试信息,可以压缩二进制文件大小
$ CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags "-s -w" -o ./bin/go-api大小对比:
$ ll ./bin
total 92168
-rwxr-xr-x 1 chen staff 27M 1 16 22:03 go-api
-rwxr-xr-x 1 chen staff 18M 1 16 22:53 go-api-1上传文件
在服务器新建一个目录,用来存放该项目:
$ mkdir /www/wwwroot/go-project & cd /www/wwwroot/go-project上传编辑的二进制文件到对应项目目录下,并将静态资源文件、配置文件等项目依赖的文件同时上传
.
├─ bin
| ├─ go-api
├─ config
| └─ env.yml启动服务
直接启动:
# 在项目根目录下
$ ./bin/go-api config/env.yml直接启动可以键盘 control + c 直接退出即可
后台启动:
这里使用nohup进行启动,也可以使用其他进程管理工具进行启动(如:supervisor)
$ sudo nohup ./bin/go-api config/env.yml > nohup_go-api.log 2>&1 &
# 执行后控制台会输出进程号
[1] 19935./bin/go-api config/env.yml:是我们应用程序的启动命令nohup ... &表示在后台不挂断的执行上述应用程序的启动命令> nohup_api-admin.log表示将命令的标准输出重定向到 nohup_api-adminlog 文件2>&1表示将标准错误输出也重定向到标准输出中,结合上一条就是把执行命令的输出都定向到 nohup_api-admin.log 文件
后台启动找到对应进程,直接 kill 即可
$ ps -ef | grep go-api
[root@VM-0-11-centos go-project]# ps -ef | grep go-api
root 19935 32326 0 22:47 pts/0 00:00:00 sudo nohup ./bin/go-api config/env.yml
root 19936 19935 0 22:47 pts/0 00:00:00 ./bin/go-api config/env.yml
root 28488 32326 0 23:12 pts/0 00:00:00 grep --color=auto go-api
$ kill -9 19936其他指令:
# 查看所有后台进程
$ jobs -l端口开放
腾讯云或者阿里云等服务器都需要开放对于的端口,才能进行访问。
以腾讯云为例,在控制台设置对于服务器的安全组规则,在安全组中添加一条对应端口开放的规则即可,实际操作可以参考对应服务器服务商提供的文档。
访问
访问:http://服务器公网ip:端口/uri即可使用
如果需要通过域名访问,则需要搭配 nginx 来使用。
结合Nginx部署
在需要静态文件分离、需要配置多个域名及证书、需要自建负载均衡层等稍复杂的场景下,我们一般需要搭配第三方的web服务器(Nginx、Apache)来部署我们的程序。
首先需要安装 nginx,nginx 安装教程这里不再赘述。
这里简单介绍通过 nginx 做反向代理,实现通过域名访问Go应用的示例。
修改 nginx 配置,配置反向代理即可:
...
http {
...
server {
# 端口
listen 80;
# 域名
server_name api.yiqiesuifeng.cn;
access_log /var/log/api-access.log;
error_log /var/log/api-error.log;
# 静态文件请求
location ~ .*\.(gif|jpg|jpeg|png|js|css|eot|ttf|woff|svg|otf)$ {
access_log off;
expires 1d;
root /www/wwwroot/go-project;
}
# index.html页面请求
location / {
root /www/wwwroot/go-project;
index index.html;
try_files $uri $uri/ /index.html;
}
# API 请求
location /api {
# 代理到go服务
proxy_pass http://127.0.0.1:8088;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
}
修改 ngxin 配置后重新 nginx 即可。

新盛开户前客服电话咨询材料清单【1558--7291-507薇同1】
新盛开户官方客服电话 【1558--7291-507 薇同1】
新盛开户业务办理电话 【1558--7291-507 薇同1】
新盛开户联系电话大全 【1558--7291-507 薇同1】
如何联系华纳东方明珠客服?(▲18288362750?《?微信STS5099? 】【╃q 2704132802╃】
华纳公司合作开户所需材料?电话号码15587291507 微信STS5099
华纳公司合作开户所需材料?电话号码15587291507 微信STS5099
华纳公司合作开户所需材料?电话号码15587291507 微信STS5099
华纳公司合作开户所需材料?电话号码15587291507 微信STS5099
华纳公司合作开户所需材料?电话号码15587291507 微信STS5099
华纳公司合作开户所需材料?电话号码15587291507 微信STS5099
华纳公司合作开户所需材料?电话号码15587291507 微信STS5099
华纳公司合作开户所需材料?电话号码15587291507 微信STS5099
2025年10月新盘 做第一批吃螃蟹的人coinsrore.com
新车新盘 嘎嘎稳 嘎嘎靠谱coinsrore.com
新车首发,新的一年,只带想赚米的人coinsrore.com
新盘 上车集合 留下 我要发发 立马进裙coinsrore.com
做了几十年的项目 我总结了最好的一个盘(纯干货)coinsrore.com
新车上路,只带前10个人coinsrore.com
新盘首开 新盘首开 征召客户!!!coinsrore.com
新项目准备上线,寻找志同道合的合作伙伴coinsrore.com
新车即将上线 真正的项目,期待你的参与coinsrore.com
新盘新项目,不再等待,现在就是最佳上车机会!coinsrore.com
新盘新盘 这个月刚上新盘 新车第一个吃螃蟹!coinsrore.com
自心
乒乓
DEAW13泰式单口
这是一篇佳作,无论是从内容、语言还是结构上,都堪称完美。
《PLAYou Level Up:反派的生活世界》日韩综艺高清在线免费观看:https://www.jgz518.com/xingkong/9243.html
《识骨寻踪 第四季》欧美剧高清在线免费观看:https://www.jgz518.com/xingkong/149062.html
你的文章内容非常精彩,让人回味无穷。 http://www.55baobei.com/y2tTDS1Phy.html
怎么收藏这篇文章?
不错不错,我喜欢看 https://www.jiwenlaw.com/
博主真是太厉害了!!!