程序员软件技巧

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

2020-05-13  本文已影响0人  张老师Klog

CentOS安装MongoDB

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``

上一篇 下一篇

猜你喜欢

热点阅读