如何搭建 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 条评论
登录 后参与评论

相关文章

来自专栏快乐八哥

Ajax几种常用模式

设计模式不是要遵循的标准,只不过是对增进行之有效的解决方案的总结。每个模式都凝聚了开发人员社区的集体智慧,而每个开发人员都可以决定是否在其应用中实现某个模式。 ...

18010
来自专栏极乐技术社区

微信小程序入门《一》: 简 介、文本、事件、样式

小程序简介 原生APP和Web APP谁是未来的主流这个命题争了很多年,而原生APP最大的优势也就是对于系统控件接口和框架的调用能力比Web APP不知道高到哪...

2169
来自专栏技术博文

php缓存技术

1、全页面静态化缓存 也就是将页面全部生成html静态页面,用户访问时直接访问的静态页面,而不会去走php服务器解析的流程。此种方式,在CMS系 统中比较常见,...

4496
来自专栏运维一切

CENTOS7 SYSTEMCTL说明 原

PS:RHEL7和CentOS7出来有一段时间了,拿出点时间研究下,有几个地方跟6和5系列相比改变比较大,估计不少童鞋有点不太习惯。下面简要举例说明改变比较大的...

662
来自专栏Youngxj

[教程]超简单搭建WEB服务器

2425
来自专栏Youngxj

QQ域名防报毒工具V1.3 - 短网址生成

1784
来自专栏Android干货

eclipse显示代码行数

2599
来自专栏noteless

域名注册域名解析域名绑定 dns服务器解析 域名记录的添加 记录类型含义@ www 访问域名请求过程

创建一个web应用,简言之就是访问一个域名,可以到达一个地方,这个地方就是你存放供别人查看的文件的地方

1292
来自专栏北京马哥教育

PXE批量部署linux操作系统

前言 在实际生产环境中,有时候我们会碰到为几十上百甚至上千台服务器安装Linux操作系统的需求,如果我们还是常规的去使用移动介质逐台安装,显然是一件 低...

2836
来自专栏ascii0x03的安全笔记

HTML5离线缓存攻击测试(二)

经过昨天的测试,发现使用离线缓存的网站会被攻击。但是,不使用离线缓存的网站就真的不会受到这样的攻击么? 据我理解,按照标准当浏览器请求manifest文件时,若...

3266

扫码关注云+社区