0%

go+nginx部署

打包go程序

我这边是windows 所以需要交叉编译

1
2
3
4
5
6
SET CGO_ENABLED=0
SET GOOS=linux
SET GOARCH=amd64
go build -o main main.go

//执行完毕后你得到一个二进制文件 main

安装mysql和nginx

建议使用宝塔一键操作

1
2
3
4
5
//我的版本号
[root@cc2 api]# nginx -v
nginx version: nginx/1.20.1
[root@cc2 api]# mysql -V
mysql Ver 14.14 Distrib 5.7.34, for Linux (x86_64) using EditLine wrapper

mysql和nginx配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//  先完成基本的数据库创建等操作
---------------------------------
//查看nginx配置文件路径
[root@cc2 api]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

//nginx代理静态资源和端口转发
server {
listen 8080;
server_name ccdeweb.top;
location / {
index index.html;
}
location /api/ {
proxy_pass http://127.0.0.1:3000/; #go会启动在3000端口上
}
location ~ \.(html|js|css|png|jpg|jpeg|gif|ico|swf|webp|pdf|txt|doc|docx|xls|xlsx|ppt|pptx|mov|fla|zip|rar)$ { #静态资源
expires max;
root /var/www/dingding;
}
}

最后

1
2
3
4
//将main和前端代码上传到服务器上
chmod 777 main
nohup ./main & //可以使用pm2 supervisor 等进程管理工具
nginx -s reload //重启nginx

index
go
vue
login
address