安装firekylin的过程

本文档详细介绍了在CentOS 7上安装配置Firekylin的步骤,包括准备工作中安装Node.js、NPM、MySQL、Nginx,接着详细讲述了安装Firekylin、配置信息以及Nginx的全过程,最后解决可能出现的访问问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

准备工作

1. nodejs环境搭建

参考一部分firekylin.org的安装教程,其中一部分有所更改

系统环境centos 7.5 64bit,官方教程中间获取nodejs的方法很精炼但是速度很慢(南方电信)

curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
yum -y install nodejs

手动安装nodejs速度大大加快,访问https://nodejs.org/dist/寻找相对应的版本,我找到的是https://nodejs.org/dist/v9.11.2/node-v9.11.2-linux-x64.tar.gz

直接运行

wget https://nodejs.org/dist/v9.11.2/node-v9.11.2-linux-x64.tar.gz

自动下载到当前目录,我的是下载到root目录,实际上文件位置自己随便放。如果还嫌慢就去https://npm.taobao.org/mirrors/node找最新版下载。然后解压缩

xz -d node-v9.11.2-linux-x64.tar.xz
#如果下载了xz后缀的压缩包就要执行
tar -xvf node-v9.11.2-linux-x64.tar
#进行解压缩

tar -xvf node-v9.11.2-linux-x64.tar.gz
#这种直接解压缩

然后改名字

mv node-v9.11.2-linux-x64  node-v9.11.2

建立软连接全局变量

ln -s /usr/local/src/node-v9.11.2/bin/node  /usr/local/bin/node
ln -s /usr/local/src/node-v9.11.2/bin/npm   /usr/local/bin/npm
#如果执行不了就加sudo

node -v
#测试一下显示版本号就证明成功

.2.使用 NPM 安装 PM2

通过 NPM 安装进程管理模块 PM2。它是 Node.js 的一个进程管理模块,之后我们会使用它来管理我们的个人网站进程。

npm install pm2 -g

1.3.安装 MySQL

使用 yum 安装 MySQL

wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum install mysql-community-server -y
#最后这一个server装的慢,可以软中断重新再执行

启动 MySQL 服务

service mysqld restart

设置 MySQL 账户 root 密码

/usr/bin/mysqladmin -u root password '密码'

1.4.安装 Nginx

在 CentOS 上,可直接使用 yum 来安装 Nginx

yum install nginx -y

此时已经可以访问web服务,显示nginx的欢迎页面。

2.安装并配置 Firekylin

2.1.安装 Firekylin

在服务器上下载安装包

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

解压安装包

tar zvxf latest.tar.gz

安装程序依赖

cd firekylin
npm install
#直接运行全是警告
#加sudo提示错误语句,于是执行
sudo ln -s /usr/local/bin/node /usr/bin/node
sudo ln -s /usr/local/lib/node /usr/lib/node
sudo ln -s /usr/local/bin/npm /usr/bin/npm
#再进行换源安装
sudo npm install -g cnpm --registry=https://registry.npm.taobao.org

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

cp pm2_default.json pm2.json

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

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

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

pm2 startOrReload pm2.json

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

此时系统并没有如预期运行,可能会提示pm2是无效命令

于是乎就要找pm2在哪里进行软连接,执行

whereis node

 顺着软连接一路找,找到了这里

lrwxrwxrwx 1 root root 27 Feb 20 01:40 node -> /root/node-v9.11.2/bin/node
lrwxrwxrwx 1 root root 26 Feb 20 01:40 npm -> /root/node-v9.11.2/bin/npm

然后加入软连接全局变量

ln -s /root/node-v9.11.2/bin/pm2 /usr/local/bin/pm2

 再次执行

pm2 startOrReload pm2.json

 

2.2.配置信息

在 Firekylin 的配置界面中输入参数,其中数据库信息中的帐号字段设置为 root,密码字段设置为刚刚1.3中设置的密码,数据库名字段设置为 firekylin,主机字段设置为 127.0.0.1,其他字段使用默认值;后台管理帐号中的帐号字段使用默认值 admin,密码字段自己设置一个密码。记得保存好数据库和博客后台的密码。

配置完成后就可以直接登录博客后台了。

2.3 配置Nginx

下面我们就配置 Nginx 使用域名访问我们的网站了。 前提是你已经把你的域名解析至服务器的ip。

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

cp nginx_default.conf nginx.conf

修改 nginx.conf 文件

server {
    listen 80;
    server_name www.yourdomain.com; #server_name是这个server对应的域名
    root /root/firekylin; #该server打开的根目录
    set $node_port 8360; #该server打开的默认端口
    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当域名访问时应该访问那里,如果需要添加域名,则在已有的server后面继续加server就可以了(修改server_name即可实现不同域名访问该页面)。

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

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

软连接的意思是生成一个镜像,并不真的复制过去。

至于为什么直接生成名叫firekylin.conf的文件nginx就可以看懂,我还不太明白,可能和firekylin的内部设置有关?

之后要更新conf文件,只要在这里修改,并重启Nginx即可。

重启 Nginx

service nginx restart

 配置完成可以直接通过域名访问博客了!

但是,由于缓存的存在开始的时候通过端口8360访问,此时有可能被提示“components load failed!”。清缓存就好了。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值