Go项目在linux服务器的部署

大致步骤

以阿里云服务器为例
1.拥有一台阿里云服务器
2.使用阿里云控制台打开要使用的端口
3.在Linux上安装MySQL数据库
4.安装Go的运行环境
5.部署项目到服务器,并启动
6.使用git管理服务器上的代码,保证实时更新

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

找到阿里云实例,打开安全组
Go项目在linux服务器的部署_第1张图片
新建入方向的端口信息,我们这里手动添加,这里操作是要让别人访问你服务器的时候,所用到的端口开放
在这里插入图片描述

2.在Linux上安装MySQL数据库

这里我们使用docker镜像的方法安装数据库
docker pull mysql:8.0.29
解释 docker pull 要安装什么东西:安装的版本
安装的版本不写会默认是最新版
下载好之后就可以查看镜像了
docker images
Go项目在linux服务器的部署_第2张图片
可以看到这里面有我们要下载的镜像
下一步就是要运行镜像

-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,go,后端,docker,linux)