go打包 部署 优雅的把go项目部署到Linux服务器
2023-09-11 14:20:01 时间
注意问题
- go项目运行之后,修改.env文件不会立即生效,需要重启go服务才会生效
- go项目运行之后,修改config.ini配置文件会立即生效,无需重启go服务
重新部署项目
- 开发环境重新build项目(Mac环境的打包语法)
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build
- 查找指定端口的进程 博主的端口号9001
netstat -tunlp|grep 9001
- 结束之前的进程,开启新进程启动go服务
- 4543是要结束的进程
- singo是二进制文件名
- 使用&&同时执行2条命令,避免服务中断
kill -9 4543 && nohup ./singo > nohup.log 2>&1 &
附录Windows平台的打包语法
windows
set CGO_ENABLED=0 //禁用CGO
set GOOS=linux //目标平台为linux
set GOARCH=amd64 //目标处理器架构是amd64
go build -o name //编译可执行文件到当前目录 (-o:自定义文件名)
Mac
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build
相关文章
- [Linux] git send-email的使用
- Linux下Tomcat的启动、关闭
- 【python基础】Linux环境下非root用户安装Python和第三方包
- 【刷题】Linux进程通信方式
- 【Go语言】【18】GO语言的select
- linux中用shell获取昨天、明天或多天前的日期
- Linux CentOS6.5下编译安装MySQL 5.6.16【给力详细教程】
- go安装goctl进行Go Dockefile的自动生成
- 我的Go+语言初体验——go【Format】goplus
- 【Go环境】配置go环境变量、go mod命令大全
- linux - 查看系统磁盘数据、查看文件夹占用磁盘大小 指令
- 使用linux服务logrotate文件tomcat日志文件
- 【Linux】linux经常使用基本命令
- linux下可以禁用的一些服务
- L67.linux命令每日一练 -- 第十章 Linux网络管理命令 -- netstat和ss
- L63.linux命令每日一练 -- 第九章 Linux进程管理命令 -- runlevel、init和service
- L43.linux命令每日一练 -- 第七章 Linux用户管理及用户信息查询命令 -- chage和chpasswd
- L40.linux命令每日一练 -- 第七章 Linux用户管理及用户信息查询命令 -- useradd和usermod
- Go语言自学系列 | golang包管理工具go module
- Go语言自学系列 | go语言布尔类型
- linux服务篇-RSYNC数据备份
- Linux 搞懂物理内存和虚拟内存