阿里云服务器使用宝塔部署go项目(完整步骤)

简介: 本文详解Go项目在阿里云ECS上的三种部署方式:1)手动配置(安装Go环境、编译运行);2)Docker镜像化部署(本地构建+推送Docker Hub+服务器拉取运行);3)直接上传预编译二进制文件。含宝塔面板安装、安全组配置、LNMP/LAMP选型等实操步骤。(239字)

部署项目前需要环境:

阿里云云服务器ECS:https://www.aliyun.com/product/ecs

宝塔面板


阿里云云服务器ECS实例创建过程

先登录阿里云网站注册账号,进入控制台左侧导航栏中云服务器ECS页面

根据自己的需求去创建一个新的实例(需要付费)

如果是学生的话,完成认证之后可以免费试用一个月,过期之前完成实验和测试任务拿到证书还可以再免费使用6月。

添加实例安全组

服务器是需要端口放行的,否则你的端口将无法访问,因为安全需要,所以云服务器存在安全组这个东西。常用需要放行的端口:tomcat 8080端口,mysql 3306端口 https 443和80端口

3a308817-fe7b-427c-b159-33d626bd33ea.png


基于阿里云安装宝塔面板

注意事项:出于性能考虑,服务器的操作系统一定要选Linux版本(centos或者ubuntu),不要选Window。

阿里云的云服务器,即阿里云ECS,默认的用户名 root,密码的话建议修改。

远程连接云服务器,使用用户名密码登录workbench,使用的是公网ip

image.png


输入宝塔安装命令


if [ -f /usr/bin/curl ];then curl -sSO https://download.bt.cn/install/install_panel.sh;else wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh;fi;bash install_panel.sh ed8484bec

中途会弹出是否安装,输入y,按照提示继续安装

不同系统的安装命令不同,具体可以在宝塔官网查看

Centos/OpenCloud/Alibaba

url=https://download.bt.cn/install/install_panel.sh;if [ -f /usr/bin/curl ];then curl -sSO $url;else wget -O install_panel.sh $url;fi;bash install_panel.sh ed8484bec

Debian

wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh && bash install_panel.sh ed8484bec


Ubuntu/Deepin

wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh && sudo bash install_panel.sh ed8484bec

宝塔面板安装成功后,如下图所示:

image.png

上面三个是很重要的参数,一定要记住!

打开上面的宝塔链接,输入用户名和密码,进入宝塔面板:

image.png

LNMP: Linux + Nginx + Mysql + PHP

LAMP: Linux + Apache + Mysql + PHP

两者区别:静态内容多建议选择Nginx内存占用更少。 动态内容较多建议选择Apache更稳定。

修改登录宝塔的路径以及用户名和,密码,重新登录即可

宝塔面板部署go项目

我们都知道,部署项目,其实就是他的二进制文件,基本都是有多种方式部署:

将项目文件打包进入服务器,并下载go环境,build该go项目,并run起来;即和本地跑项目没太大区别;但是该方法不太适合大型的项目,因为build会占用较大的内存,而服务器内存通常都较小,会有概率失败,而且下载各种环境也是一个弊端,日常项目自然是没有问题的;

使用docker部署项目到服务器;

事先生成项目的linux版本二进制文件为main,单独将main拉进服务器,并配置启动项,若没有问题可直接运行,直接少了build和下载环境的步骤;

1,手动配置部署

环境配置

在go官方下载linux的go包,网址:

All releases - The Go Programming Language (google.cn)

下载完毕后上传到服务器

image.png

然后将文件解压(解压地址可以自己设置)

tar -C /usr/local -xzf go1.22.1.linux-amd64.tar.gz

将Go语言的可执行文件路径添加到系统的PATH环境变量中,以便在任何位置都能够访问到Go相关的命令。

echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc

然后运行以下命令使其生效:

source ~/.bashrc

验证安装: 执行以下命令验证Go语言是否成功安装:

go version

如果输出Go的版本信息,则表示安装成功。

然后设置go的代理地址,建议设置,不然可能会下载库很慢;

go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn

将源代码拉入服务器并生成项目二进制文件

1.进入项目指定目录,上传自己本地项目的压缩包,效果图如下,并解压成文件夹;

image.png

进入项目根目录,打开终端,输入go mod tidy下载项目需要的依赖库,再使用go build main.go生成二进制可执行文件main;

image.png

创建项目

image.png

将项目生成的二进制main文件填入(仿照下边这个)

image.png

保存之后使用ip+端口+路由就可以访问了;

若想要配置域名,需要点击域名管理,增加域名,并申请ssl证书;

如果有数据库,也需要建立对应的数据库用户和密码,并将表结构导入;(同代码配置文件中写的一致);

3,docker配置部署

为了能够更完整的演示docker部署,教程会先演示在本地生成docker镜像并提交到dockerhub,然后在服务器上拉取先前提交的docker镜像生成容器运行;

以一个启动main.go文件启动的项目示例

前置条件:

1.windows上下载docker desktop

2.注册dockerhub账号,并在本地登录dockerhub

好了,下边是演示:

首先要保证你的项目可以运行,新建一个Dockerfile文件,输入以下基础go项目配置

输入:

image.png


# 基于 golang 镜像构建 Docker 容器
FROM golang:latest

# 设置工作目录为 /app
WORKDIR /app

# 将当前目录下的所有文件复制到工作目录 /app 中
COPY . .

# 编译 Go 语言程序
RUN go build -o main .

# 暴露容器的端口,如果您的 Go 语言程序监听了某个端口,则需要暴露该端口
EXPOSE 8080

# 运行 Go 语言程序
CMD ["./main"]

在终端输入:

docker login 

若第一次登录是需要输入账号密码;

生成docker镜像

docker build -t test:v1

-t 设置镜像名称和版本号 test是镜像名称 v1是版本号;

先测试运行下

docker run -p主机端口号:容器端口号 -d --name 容器名 镜像名:版本号;

如果项目能运行就将其推送到dockerhub;:

标记你的本地镜像以指定 Docker Hub 中的目标仓库和标签:

docker push [你的 Docker Hub 用户名]/[目标仓库名称]:[标签]

然后进入服务器,同样输入docker login登录

从 Docker Hub 拉取并运行镜像:

使用以下命令从 Docker Hub 拉取镜像:

docker pull [你的 Docker Hub 用户名]/[目标仓库名称]:[标签]

拉取完成后,你可以运行该镜像:

docker run [你的 Docker Hub 用户名]/[目标仓库名称]:[标签]

此时你的项目就在服务器上运行了,嗯,非常的方便;

3,可执行文件配置

第三种是先生成main可执行文件,只将可执行文件拉入服务器中,之后过程和方法一配置网站一样…

相关文章
|
5月前
|
Ubuntu 应用服务中间件 Linux
使用阿里云服务器部署网站,保姆级教程(nginx部署及宝塔部署)
本文详解如何在阿里云轻量服务器上部署网站,涵盖两种主流方案:一是手动配置Nginx(含安装、启停、修改配置及静态文件部署);二是使用图形化宝塔面板(一键安装、建站、上传文件与路径配置)。配套Xshell远程连接和Xftp文件管理,适合新手与进阶用户。
使用阿里云服务器部署网站,保姆级教程(nginx部署及宝塔部署)
|
移动开发 安全 JavaScript
uniapp打包成H5部署到服务器教程
uniapp打包成H5部署到服务器教程
3539 0
|
5月前
|
前端开发 NoSQL Java
宝塔面板部署Java项目全指南:JDK+Nginx+MySQL+Redis一站式配置
本文详解宝塔面板部署Java全栈项目全流程:涵盖宝塔安装、Nginx/MySQL/Redis配置、JDK环境搭建(支持1.8/11/17)、Spring Boot Jar包部署、前端静态资源托管及Nginx反向代理配置,附数据库建库导入与Redis安全设置,保姆级实操指南。(239字)
|
5月前
|
缓存 JavaScript 安全
Node.js 和 NPM 更新到最新版本的完整指南
本文提供Node.js与NPM安全、高效更新的完整指南:涵盖NVM、官方安装包及各系统包管理器(Homebrew、NodeSource、nvm-windows)操作步骤,强调更新新功能、修复漏洞、提升兼容性,并提醒备份、本地测试等最佳实践。(239字)
11060 3
|
6月前
|
数据建模 网络安全
2026阿里云SSL证书价格一年多少钱?单域名和通配符SSL证书收费价格表
2026年阿里云SSL证书价格一览:免费版(DigiCert单域名,有效期3个月);付费版含DV/OV/EV多类型,品牌涵盖WoSign(238元/年)、DigiCert通配符(1500元/年)、GlobalSign OV(1864元/年)等,价格区间238–11250元/年。
2545 1
|
7月前
|
弹性计算 Linux 对象存储
如何在阿里云服务器上传或下载文件?Linux和Windows操作指南2026最新
本文详解阿里云ECS服务器文件上传/下载全场景方案:涵盖Linux/Windows系统,分日常小文件、大文件、多实例分发、无公网实例及实例间传输五大场景,对比Workbench、WinSCP、SFTP、远程桌面、对象存储等10+方法,含操作步骤、限制条件与适用建议。
|
9月前
|
弹性计算
阿里云最便宜云服务器38元一年优惠:配置、价格及购买限制全面指南
阿里云最便宜云服务器多少钱一年?38元一年,配置、价格及购买限制介绍来了,亲身测试是38元一年,价格确实便宜,38元一年相当于3元1个月、一毛钱一天。这是一台轻量应用服务器,200M峰值带宽、2核2G、40G ESSD系统盘,不限流量。
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
域名解析 弹性计算 安全
阿里云服务器安装宝塔面板、安装网站(新手图文教程)
本文详细介绍了从注册阿里云账号到使用宝塔面板安装网站的完整流程,包括阿里云账号的企业认证、服务器购买与安全规则配置、宝塔面板的安装及网站部署等步骤。通过图文并茂的方式,帮助用户轻松完成阿里云服务器的搭建和管理。适合新手快速上手,实现网站从零到有的全过程。如果觉得有用,别忘了点赞收藏!
10681 3
阿里云服务器安装宝塔面板、安装网站(新手图文教程)

热门文章

最新文章