如何搭建 Firekylin 博客

FireKylin 是基于国内先进的 Node.js 框架 ThinkJS 2.0 开发的通用博客系统,是由奇虎360公司Web前端工程师组成的专业团队 75Team 进行开发和维护。其是一个高效简洁的动态博客系统,整体基于 ThinkJS 框架,后台采用了 React 技术栈。

要搭建FireKylin系统,您需要有一台自己的云服务器CVM。如果您还没有腾讯云的服务器,可以先点击这里进行免费套餐的试用。免费套餐包含企业版和个人版,超过11款热门产品和42款长期免费的云产品可以供您选择。如果您有长期搭建服务器的需求的话,可以点击这里进行服务器的购买,现在的促销力度很大哦。不仅如此,您可能需要一个属于自己的域名。现在正是腾讯云的域名金秋盛惠,最低仅需1元起。也可以在购买云服务器时进行加购减免,比正常价格要便宜50%哦。

运行环境准备

您需要先为服务器搭建运行环境,包括安装Node.js、PM2、MySQL、Nginx等。具体的安装过程,您可以点击这里了解详情。

安装并配置 Firekylin

安装 Firekylin

在服务器上下载安装包

wget https://firekylin.org/release/latest.tar.gz

解压安装包

tar zvxf latest.tar.gz

安装程序依赖

cd firekylin
npm install

复制项目下的 pm2_default.json 文件生成新文件 pm2.json

cp pm2_default.json pm2.json

修改 pm2.json 文件中的 cwd 配置值为项目的当前路径 /root/firekylin

{
  "apps": [{
    "name": "firekylin",
    "script": "www/production.js",
    "cwd": "/root/firekylin",
    "exec_mode": "fork",
    "max_memory_restart": "1G",
    "autorestart": true,
    "node_args": [],
    "args": [],
    "env": {
​
    }
  }]
}

然后通过以下命令启动项目

pm2 startOrReload pm2.json

Firekylin 已经启动成功,使用浏览器直接访问 http://<您的 CVM IP 地址>:8360/ 即可看到 Firekylin 的配置界面。

配置信息

通过访问 http://<您的 CVM IP 地址>:8360/ 配置信息,配置过程输入参数如截图所示,其中数据库信息中的帐号字段设置为 root密码字段设置为 Password4Firekylin数据库名字段设置为 firekylin主机字段设置为 127.0.0.1,其他字段使用默认值;后台管理帐号中的帐号字段使用默认值 admin密码字段设置为 Password4Admin

配置完成后可以通过后台管理帐号设置的帐号密码登录博客管理后台,其值分别为 adminPassword4Admin,截图如下所示:

配置 Nginx

下面我们就配置 Nginx 使用域名访问我们的网站了。

复制项目下的 nginx_default.conf 为 nginx.conf

cp nginx_default.conf nginx.conf

修改 nginx.conf 文件

server {
    listen 80;
    server_name www.yourdomain.com; #将 www.yourdomain.com 替换为之前注册并解析的域名
    root /root/firekylin;
    set $node_port 8360;
​
    index index.js index.html index.htm;
​
    location ^~ /.well-known/acme-challenge/ {
      alias /root/firekylin/ssl/challenges/;
      try_files $uri = 404;
    }
​
    location / {
        proxy_http_version 1.1;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-NginX-Proxy true;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_pass http://127.0.0.1:$node_port$request_uri;
        proxy_redirect off;
    }
​
    location = /development.js {
        deny all;
    }
    location = /testing.js {
        deny all;
    }
​
    location = /production.js {
        deny all;
    }
}

将 nginx.conf 文件软链到 nginx 配置目录下

ln -s /root/firekylin/nginx.conf /etc/nginx/conf.d/firekylin.conf

重启 Nginx

service nginx restart

server_name 的值为你的域名,root 为你的项目所在路径,$node_port 的值为 Firekylin 启动端口,默认为 8360。

大功告成!

您的 Firekylin 已经部署完成,博客访问地址为:http://<您的域名>,博客后台地址为:http://<您的域名>/admin。您也可以参照这篇指南对您的开发环境和生产环境进行优化。若您想将本地环境对接外部环境的话,在购买腾讯云域名后,可以按照操作指南对域名进行解析,同时使用腾讯云SSL对博客进行安全防护,使您的博客功能更加全面。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据实战演练

Linux NTP时钟同步

时钟同步在大数据方向,用到的地方很多。举个例子来说吧,像Zookeeper、RegionServer服务都是需要实时和各节点进行通信的。假如各节点差超过30s,...

2682
来自专栏月色的自留地

在Mac上使用vs-code快速上手c语言学习(入门文,老鸟退散)

7574
来自专栏沈唁志

解决Windows环境下Git Bash客户端无法识别Composer命令的问题

1264
来自专栏编程微刊

Eclipse如何从导入SVN上导入项目

2324
来自专栏前端杂谈

广告等第三方应用嵌入到web页面方案 之 使用iframe嵌入

4247
来自专栏全华班

敏捷工作流开发平台(学习参考)

资源管理(用于服务器鉴权,用户分配资源菜单)、数据字典、定时计划(定时调度引擎)、系统属性(多环境系统参数定义)、系统数据源(系统支持多数据源的数据获取,系统数...

1691
来自专栏知晓程序

电商/票务类小程序必读,如何用小程序推送消息?

通常,服务方向用户推送的消息都带有通知性质,文案也相对固定。服务方将这类固定的文案制作成模板,这些文案就可以快速重复使用。

1052
来自专栏地方网络工作室的专栏

打造前端MAC工作站(五)让我们熟悉一下 MAC 命令行吧!

打造前端MAC工作站(五)让我们熟悉一下 MAC 命令行吧! 前言 对于初次基础mac或者linux的朋友来说,接收和使用命令行是一个比较困难的事情。但是,正如...

22810
来自专栏张戈的专栏

替代crontab,统一定时任务管理系统cronsun简介

摘 要 cronsun 是一个分布式任务系统,单个节点和 Linux 机器上的 crontab 近似。是为了解决多台 Linux  机器上 crontab 任...

1.2K13
来自专栏玄魂工作室

CTF实战2 Web应用构成

https://www.bilibili.com/video/av22207039/

952

扫码关注云+社区