1、购买服务器

tip:服务器和域名最好都在一个地方购买,目前国内常用的有阿里云、腾讯云和华为云

以阿里云为例,进入阿里云官网后,点击产品,然后选择云服务器ECS(阿里云和腾讯云都提供三个月的免费额度,可以先用免费的云服务器),操作系统选择centos,接下来跟着指引和个人喜好配置即可。

2、Xshell

进入Xshell官网XSHELL – NetSarang Website,点击下载,然后选择右侧的“免费授权界面”,下载免费版即可,够用

下载完成后运行Xshell,点击新建会话,会话名称随便,主机地址填公网IP(阿里云服务器控制台中有)

3、宝塔面板

进入宝塔官网后,复制centos系统的安装命令,复制到Xshell中

下载完成之后,会给出宝塔面板的账号密码以及外网内网地址

在Xshell中输入命令

查看宝塔面板服务状态(Active: active (running))表明服务正在运行
systemctl status bt如果未运行,启动宝塔面板服务
systemctl start bt获取面板访问地址
/etc/init.d/bt default设置开机后自动启动宝塔
systemctl enable bt

宝塔启动后,大多数服务器会禁止8888端口,所以还需要到服务器控制台的安全组新增8888端口(允许任何来源)然后输入外网地址,输入账号密码后,即可访问宝塔面板

建议在宝塔的“安全”菜单项中重新设置宝塔面板的端口(8888太常见而且会有冲突风险)

4、部署项目方式一(使用宝塔「Go项目管理器」)

①进入宝塔面板 → 「软件商店」→ 搜索「Golang」→ 点击「安装」

安装完成后,需要「安装版本管理器」,然后选择一个稳定版SDK

②上传博客项目代码

通过宝塔「文件」管理器,进入 /www/wwwroot/ 目录,新建一个文件夹,如 mygoblog,将你的Go博客项目所有文件上传到这个目录。如果文件数超出限制,选择上传压缩包,然后目录下解压即可

③在服务器上编译项目

进入项目目录
cd /www/wwwroot/mygoblog
下载依赖(如果你有 go.mod 文件)
go mod tidy
编译成可执行文件
go build -o myblog

编译完成后,目录下会多出一个 myblog 文件(没有后缀名),这就是可执行文件。

④添加go项目

进入「网站」→「Go项目」→ 点击「添加Go项目」

填写配置:


配置项 填写说明
项目执行文件 选择刚才编译出的myblog文件
项目名称 自定义,如mygoblog
项目端口 你的Go程序监听的端口(在代码中配置的,如8080
执行命令 一般为空,除非你的项目有特殊启动命令(如web
运行账号 建议选择www(更安全),除非项目需要root权限
开机启动 建议勾选

⑤绑定域名/公网IP

  • 在下方的「域名管理」中,添加你的访问地址
  • 如果没有域名,填写你的****公网IP:端口
  • 勾选「允许外网访问」

⑥放行端口

如果勾选了外网访问,需要:

  • 在阿里云安全组中,放行你的项目端口(如8080)
  • 宝塔「安全」→「放行端口」中也要放行该端口

⑦启动项目

点击「提交」,然后点击「启动」即可。

5、方式二(使用docker)

①上传代码到数据目录

将你的博客项目上传到:/www/dk_project/wwwroot/ 目录下

②进入Docker网站功能

宝塔面板 → 「Docker」→「网站」→「运行环境」

③创建Go运行环境

  • 点击「创建」→ 环境类型选择「Go」
  • 选择Go版本(推荐 1.22+)
  • 填写启动命令(你的项目启动命令,如 **./mybloggo run main.go

④创建网站

  • 创建好运行环境后,点击右侧「创建网站」
  • 填写域名或公网IP
  • 勾选「允许外部访问」,并在云服务商安全组中放行对应端口

操作完成后,访问你的Go博客需要通过****公网IP或域名,格式为 http://服务器公网IP:项目端口

6、让博客在后台文档运行

①进入宝塔面板 → 「网站」→「Go项目」

②添加项目,选择执行文件 ./myblog

③设置端口 8080

④勾选「开机自启」

7、自动拉取更新

在Goblog的根目录下新建脚本文件:

#!/bin/bash
cd /www/wwwroot/Goblog || exit 1

echo "停止旧进程..."
pkill -9 Gobloge

cho "拉取最新代码..."
sudo -u www git pull || exit 1

echo "重新编译..."
go build -o Goblog || exit 1

echo "启动新进程..."
sudo -u www nohup ./Goblog > blog.log 2>&1 &

echo "更新完成!新进程 PID: $!"

评论 (0)

发表评论

头像预览
QQ 邮箱会自动使用 QQ 头像,其他邮箱使用默认企鹅头像。

暂无评论,快来抢沙发吧!