打包二进制文件
进入 main.go
目录
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go
CGO_ENABLED 是否使用 CGO
GOOS 目标平台系统 (Windows linux darwin)
GOARCH 目标平台系统架构 (arm arm64 amd64)
独立部署
给予执行权限
chmod 773 main
在后台运行
nohup ./main &
后台运行一个程序
1.先用 netstat -tln 查看端口信息
2.isof -i:端口 可以找到程序进程号PID
3.kill PID 可以关闭程序
调试
curl http://127.0.0.1:9090/someGetMethod
一个例子
比如要让redis-server程序后台运行
- 非后台运行:
$> ./redis-server
2.后台运行:
$> nohup ./redis-server 1>/dev/null 2>&1 &
其中数字1代表标准输出,2代表错误信息输出,还有未使用的标准输入即数字0.
1>/dev/null 2>&1 &的意思是标准信息输出到空设备即不做任何处理,也不做任何显示,/dev/null也可以替换为文本文件名(如 out.log),此时标准信息就会输出到指定文件.
2>&1表示错误信息输出到标准输出,即输出同1>后面的位置,当然也可以直接指定新文件名(如 err.log).
最后的& 表示程序后台运行
上面的命令还可简写:
nohup ./redis-server >/dev/null 2>&1 &
即去掉标准输出数字1
NGINX 部署
反向代理
server
{
listen 80;
server_name api.maomilaoshi.top;
charset utf-8;
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:9090;
}
access_log /www/wwwlogs/api.maomilaoshi.top.log;
error_log /www/wwwlogs/api.maomilaoshi.top.error.log;
}