飞鹅博客如何部署?
本文讲一下如何部署飞鹅系统,首先需要明白飞鹅系统的架构
首先先熟悉一下飞鹅的特点
一、飞鹅系统的特点
飞鹅是一个前后端分离的项目
飞鹅前端用
vue
技术栈,后端go
技术栈,数据库为mysql
飞鹅总共有 3 个源码库,分别是
- 博客
https://github.com/helloworld-Co/flygoose-blog
- 博客后台管理系统
https://github.com/helloworld-Co/flygoose-blog-admin
- 后台
https://github.com/helloworld-Co/flygoose-api
- 博客
其中 flygoose-api 项目,编译出来是一个可执行文件
flygoose
, 跑起来后,就可以提供接口了,前台接口和后台管理系统接口,一个可执行文件就可以搞定了。
至于如何编译出 1 个可执行文件以及如何启动,后面文档会讲到
二、飞鹅的架构图
- 博客前台项目
flygoose-blog
, 是基于nuxt3 开发的,服务端渲染,方便搜索引擎SEO - 博客的后台管理系统
flygoose-blog-admin
,是vue3 + ts + ant-design
开发 - 对应的
http接口服务
是由flygoose-api
项目编译为一个可执行文件,跑起来就是个http,可以不用nginx,也可以在服务器上配置nginx,转到了此服务
三、数据库相关
飞鹅博客支持 mysql
、postgresql
两种数据库,其它数据库暂不支持,如何需要支持其它数据库,可以自己修改代码,提供支持
后面我们就以最常用的mysql
数据库为例,来部署飞鹅项目
四、 部署顺序
通过以上的介绍,我们应该了解到,怎么部署了,先部署什么后部署什么
最好以下面的部署顺序
1. 先部署数据库
- 安装
mysql
, 官方用的是mysql 8.0
, 大家可以测试一下mysql 5.6
是不是也可以。官方没有测过,不过大概率也是支持的。
- 安装
- 创建数据库,创建表。后面文档会提供相应的sql语句
默认我们都用mysql数据库。版本为 8.0
使用官方提供的sql语句创建完数据库后,会生成一个默认的管理员账号
手机号:12345678901
密码:123456
部署
飞鹅后台管理系统http服务
,由 flygoose-api 项目编译,可执行文件默认为flygoose
(也可以改成其它名字) , 执行起来 ,使用命令nohup ./flygoose &
注:
./flygoose
是个示例,表示可执行文件flygoose
的路径 。当然你也可以使用绝对路径上面的部署是在linux系统下,不了解
nohup
命令的同学,可以参考这篇文章 Linux命令nohup使用部署
飞鹅后台管理系统
,这是个vue3
的项目,部署相对简单。注:飞鹅后台管理系统,访问的
admin
服务提供的接口,所以,我们需要知道,部署后台管理系统的时候,需要把admin
提供的http服务对应的主机,端口号提供给飞鹅后台管理系统
,具体可以在配置文件中修改。上面
第1步
,第2步
,第3步
,是部署完了后台管理系统,成功的话可以跑起来了,跑起来之后可以看到很多的网站后台的配置,文章,公告,友链的管理模块,修改对应的值,是可以在博客的前台展示的。下面就是要部署博客前台了。部署
飞鹅博客的http服务
,由 flygoose-api 项目编译,可执行文件默认为flygoose
, 执行起来 ,使用命令nohup ./flygoose &
部署
飞鹅博客
,这个就是我们的博客了,是直接面对用户的。这个部署要麻烦一点。因为用的是nuxt3
框架,nuxt3
框架的官方网站以及文档,英文站:https://nuxt.com/ , 中文站:https://nuxt.com.cn/而且nuxt3项目的部署,需要用到 pm2 ,关于pm2的官方网站:https://pm2.keymetrics.io/。也可以参考这篇博客: https://www.jianshu.com/p/5f808762a71a
注:同部署
admin
一样,部署完flygoose
服务后,同样要把此http服务所在的主机,端口号等提供给飞鹅博客
,当然也是可以通过修改配置文件
通过以上的部署,成功后,我们就可以正常访问自己的博客了,当然了,前提是你要提前注册好自己的域名,申请好自己的云主机,阿里云,腾讯云比较推荐。也有比较便宜的主机。后续会出相关的具体项目的部署文档。
我们的示例
helloworld社区,官方部署了一个示例,大家也可以访问
前台:flygoose-blog.helloworld.net
后台管理系统:flygoose-admin.helloworld.net
飞鹅官网:flygoose.helloworld.net
敬请期待...