飞鹅博客部署
一、准备工作
- 服务器或者云主机
- 已备案的域名(最好有)
一、后端部署
1.1 本部署文档环境说明
- OS:ubuntu 22.04
- MySql 8.0+
- CPU制造商为Intel,指令集为x86_64
说明:以下命令,如果使用root账户执行,则无需添加sudo,若是非root账户执行,需要添加sudo,本示例使用非root账户执行
1.2 安装辅助工具
1# apt 包管理工具依赖更新 2sudo apt-get update 3# vim是文本工具 wget是下载flygoose二进制文件使用的 4sudo apt-get install vim wget curl -y
1.3 安装和配置MySql(如果你已经有了,请跳过本步骤)
1# 安装mysql 2sudo apt-get install mysql-server -y 3# 安装完成后登录 4sudo mysql -u root -p
因为MySql安装完成后没有密码,当出现以下内容时直接按回车即可
1Enter password:
登录成功就会出现以下
1mysql>
接下来在mysql>输入
1-- 选中mysql这个数据库 2use mysql; 3-- 创建用户名为flygoose密码为flygoose的用户 这个账户可以管理任何一个数据库 4create user 'flygoose'@'%' identified by 'flygoose'; 5-- 授权flygoose这个账户登录 6grant all privileges on *.* to 'flygoose'@'%' with grant option; 7-- 刷新权限,使上面的配置生效 8flush privileges; 9-- 退出 mysql> 10exit
退出后就自动回到了系统终端。
1.4 配置和启动飞鹅后端服务
先下载最新版本的飞鹅二进制包
1# 我将二进制文件放在了/opt下 2cd /opt 3# 我使用的是linux系统,Intel的CPU,指令集是x86_64 下载的文件是名字中带linux-amd64的 4# wget后面的地址是从github仓库中拿到的 页面地址是:https://github.com/helloworld-Co/flygoose-api/releases 5# 打开页面后选择最新版本 并且选择服务器对应的二进制文件即可 6sudo wget https://github.com/helloworld-Co/flygoose-api/releases/download/tag-2.0-rc1/flygoose-api-linux-amd64-2.0-rc1
下载完成后整理配置文件
1touch flygoose-config.yml 2vim flygoose-config.yml
下面开始整理配置文件(若是有与我的配置有出入的,以你的为准,比如有些同学已经有了自己的mysql,用户名、密码、ip等都以你的为准)
1# 服务端口 2http: 3 port: 29090 4database: 5 # 数据库类型 取值mysql或postgresql 6 driver: mysql 7 # 数据库IP 8 host: 127.0.0.1 9 # 数据库端口 10 port: 3306 11 # 数据库名称 如果你跳过了安装MySql那一步,这里需要自己创建一下这个数据库,名字可以自己定 12 name: db_flygoose 13 # 用户名 14 user: flygoose 15 # 密码 16 password: flygoose
vim打开flygoose-config.yml后,按键盘上(此时键盘应处于英文状态,中文状态是无法出现效果的)的i进入插入数据模式,左下角会出现 Insert字样
然后把上面修改好的配置粘贴进去。然后按ESC键,就退出编辑状态,然后输入:wq,此时左下角会出现:wq,然后按回车,就保存并退出了。
接下来给下载的二进制文件赋执行权限并启动
1# 加执行权限 flygoose-api-linux-amd64-2.0-rc1应替换成你下载的二进制文件的名字 2sudo chmod +x flygoose-api-linux-amd64-2.0-rc1 3# 执行 flygoose-api-linux-amd64-2.0-rc1应替换成你下载的二进制文件的名字 4sudo nohup /opt/flygoose-api-linux-amd64-2.0-rc1 -c /opt/flygoose-config.yml &
1.5 验证
使用curl在服务器
1curl localhost:29090/api/health
或者使用本地浏览器输入你的服务器ip:29090/api/health或者POSTMAN使用GET请求你的服务器ip:29090/api/health,有下面数据返回即成功。
1{"code":1,"data":null,"message":"success"}
二、前端部署
TODO