Go项目在linux服务器的部署详细步骤

大致步骤 以阿里云服务器为例 1 拥有一台阿里云服务器 2 使用阿里云控制台打开要使用的端口 3 在Linux上安装MySQL数据库 4 安装Go的运行环境 5

大致步骤

以阿里云服务器为例

1.拥有一台阿里云服务器

2.使用阿里云控制台打开要使用的端口

3.在Linux上安装MySQL数据库

4.安装Go的运行环境

5.部署项目到服务器,并启动

6.使用git管理服务器上的代码,保证实时更新

1.使用阿里云控制台打开要使用的端口

找到阿里云实例,打开安全组

新建入方向的端口信息,我们这里手动添加,这里操作是要让别人访问你服务器的时候,所用到的端口开放

2.在Linux上安装MySQL数据库

这里我们使用docker镜像的方法安装数据库

docker pull mysql:8.0.29解释 docker pull 要安装什么东西:安装的版本

安装的版本不写会默认是最新版

下载好之后就可以查看镜像了

docker images

可以看到这里面有我们要下载的镜像

下一步就是要运行镜像

-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=123456\
-d mysql:8.0.29

参数解读

docker run 3306:3306 --name mysql\      #将容器3306端口映射到主机的3306端口 
-v /mydata/mysql/log:/var/log/mysql\    #将配置文件挂载到/mydata/mysql该文件夹下
-v /mydata/mysql/data:/var/lib/mysql\   #将日志文件挂载到/mydata/mysql该文件夹下
-v /mydata/mysql/conf:/etc/mysql\       #将配置文件挂载到/mydata/mysql该文件夹下
-e MYSQL_ROOT_PASSWORD=123456\          #初始化root用户的密码为123456
-d mysql:8.0.29                         #开机启动mysql

创建成功后,查看实例

启动实例

docker start mysql  #这里的mysql可以使用别名,也可以使用所创建出实例的id

运行MySQL后可以使用Datagrip、navicat等客户端工具尝试连接MySQL,如果连接不上可以查看自己的服务器的安全组,是否开放了3306端口。连接后就可以创建自己的数据库,跟在本地操作数据库方法相同。

3.安装Go的运行环境

使用xftp工具将Go的SDK压缩包上传到服务器,建议上传到home目录下这里注意Go的SDK千万不要下载错了

上传后进行解压

tar -zxvf 你的压缩包文件名

解压完成后去配置环境变量

vim /etc/profile

打开etc下的profile文件

export GOROOT=/usr/local/go
export GOPATH=/usr/local/gopath
export PATH=$PATH:$GOROOT/bin

/usr/local是你Go的SDK解压到的文件夹路径保存后执行profile文件,使之生效,使用source命令(source命令:依次执行文件所有语句)

source /etc/profile

使用go version测试是否配置完成

4.将Go项目部署到服务器

首先使用Goland将main文件打包,打包成适合在服务器上运行的文件

可以先在控制台执行下面这个命令

修改命令为
go env -w GOOS=linux

将main文件打包成二进制文件

在项目根目录下输入
go build main.go

将你的main二进制文件和config.conf文件上传到你的项目目录下,就是说你的main.go文件再哪个目录,你的main就要在哪个目录

切换到main所在的目录

设置文件权限

chmod 777 main //我这里直接给最高权限
这个就是给main文件权限 然后你的main会变成绿色

运行并制定运行环境和创建日志文件

nohup ./main -c config.dev.yaml > start.log 2>&1 &

查看进程

ps -ef|grep main

正常启动

查看日志文件有没有报错

tail -f start.log

总结 

到此这篇关于Go项目在linux服务器的部署详细步骤的文章就介绍到这了,更多相关Go在linux服务器的部署内容请搜索好代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持好代码网!

您可能有感兴趣的文章
golang并发编程的如何实现

golang如何实现redis的延时消息队列功能示例

golang中range在slice和map遍历中的注意事项

Golang命令行进行debug调试操作

golang的空标识符理解