美文网首页程序员软件技巧
【编程】Golang服务端程序部署

【编程】Golang服务端程序部署

作者: zhyuzh3d | 来源:发表于2020-05-13 08:07 被阅读0次

CentOS安装MongoDB

  • 安装
    为yum先创建设置文件
vi /etc/yum.repos.d/mongodb-org-4.2.repo

粘贴进去以下内容

[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc

按ESC退出插入模式,输入:wq保存并退出。下面命令开始安装。

sudo yum install -y mongodb-org

安装完成后,yum会自动完成下面两个文件夹的创建。

/var/lib/mongo
/var/log/mongodb

为防止后续yum自动升级MongoDB,手工修改文件/etc/yum.conf增加下面一行。

exclude=mongodb-org
  • 启动
sudo systemctl start mongod

停止:

sudo systemctl stop mongod

查看运行状态(运行状态下会有绿色的active字样):

sudo systemctl status mongod

设为随系统自动启动:

sudo systemctl enable mongod

可以使用sudo systemctl disable mongod取消开机启动。

总之不要乱看教程,相信官方安装说明就行。
本机启动mongod命令mongod --dbpath ~/data/db

编译

  • 列出可用目标平台
go tool dist list

其中最常见的是macOS的darwin/amd64;Windows的windows/amd64;CentOS的linux/amd64。可能会用到的有android/armandroid/arm64windows/arm等。

  • 编译成二进制可执行文件
go build src/app/main.go

以当前系统作为目标平台

GOOS=linux GOACH=amd64 go build src/app/main.go

以阿里云服务器CentOS(linux)为目标,其他情况可以参考可用目标平台修改。

运行

在MacOS或者Linux上需要先修改文件变为可执行文件,然后可以直接运行

chmod +x ./main
./main

注意这里的./main运行,不要使用main直接运行。
如果要在后台运行,可以使用nohup,例如

nohup ./main > my.log 2>&1 &

这将把日志记录到my.log2>&1是标准错误2输出到文件输入1
如果要杀掉nohup的进程,可以用ps -ef|grep main来找到进程PID,然后kill pid

自动启动

找到/etc/rc.d/rc.local文件,先给它添加运行权限:

chmod +x /etc/rc.d/rc.local

然后执行下面的代码禁用MongoDB自动启动:

sudo systemctl disable mongod

添加类似下面的代码同时自启动MongoDB和golangApp:

# 启动MongoDB
nohup mongod --dbpath=/var/lib/mongo --logpath=/var/log/mongodb/log.txt > /shell/mongod.log 2>&1 &
sleep 3s
# 启动kfission程序,先切换目录,避免和网页文件位置不匹配
(
  cd /opt/kfission
  nohup ./app > kfission.log 2>&1 &
  cd /
)

欢迎关注我的专栏( つ•̀ω•́)つ【人工智能通识】


每个人的智能新时代

如果您发现文章错误,请不吝留言指正;
如果您觉得有用,请点喜欢;
如果您觉得很有用,欢迎转载~


END``

相关文章

  • 【编程】Golang服务端程序部署

    CentOS安装MongoDB 安装为yum先创建设置文件 粘贴进去以下内容 按ESC退出插入模式,输入:wq保存...

  • Golang网络编程TCP连接

    Golang网络编程 TCP编程编写服务端package mainimport ( "bufio" "fmt"...

  • golang服务端初始化过程

    golang 服务端程序初始化流程:

  • Golang聚合

    教程 Go Web 编程Go语言圣经(中文版) Tips Golang 学习笔记——交叉编译 & 部署Golang...

  • Go TCP

    网络编程 Golang主要设计目标之一是面向大规模后端服务程序,网络通信是服务端程序必不可少且至关重要的一环。 网...

  • Docker部署Golang程序方法

    之前我写过如何部署Golang程序到服务器,这次咱们来写写怎么利用Docker来部署我的Golang,当然如果要部...

  • Docker部署Golang程序方法

    之前我写过如何部署Golang程序到服务器,这次咱们来写写怎么利用Docker来部署我的Golang,当然如果要部...

  • Tank技术【3-1】GoLang学习资源

    一、序言:用GoLang编写服务端程序 Go语言属于类C语言,由Google维护,排名火箭上升。GoLang使用方...

  • 30.3. 企业级开发进阶2.3:UDP编程

    ** 本节内容如下** 什么是UDP协议 UDP网络编程——服务端程序开发 UDP网络编程——客户端程序开发 1....

  • Docker 部署golang程序

    问题 我写好了一个基于gin的web程序,另外还有一些依赖。我费了千辛万苦才把依赖下载下来,我不想在docker镜...

网友评论

    本文标题:【编程】Golang服务端程序部署

    本文链接:https://www.haomeiwen.com/subject/eadwnhtx.html