11月18, 2018

Linux环境部署Firekylin博客系统记录

博客迁移的工作基本完成啦~后面一些工作记录将会在这个上面更新啦。周末的时候抽空总结了下部署线上环境遇到的相关问题。

做一个学习归纳和相关的总结,希望自己以后能够慢慢的熟悉整个部署流程,不能只是单一的工作,熟悉整个发布流程也很重要,对于自己独立一个人扛起项目的时候,也是有帮助的。每当自己多学一点知识,就能少一点求助于他人。。。

(1).首先登陆服务器地址: ssh登录,命令格式 ssh -p 端口号 用户名@IP地址

(2). 在服务器端安装对应的node环境.

(3).下载对应版本的压缩安装包,命令行执行以下命令

wget https://nodejs.org/dist/v8.9.3/node-v8.9.3-linux-x64.tar.xz

(去node官网拿到对应的版本压缩包地址)

下载完成之后进行解压安装~(执行解压命令).

tar xvf node-v8.9.3-linux-x64.tar.xz

然后安装zsh(配置全局的环境变量),把node命令加到全局环境配置即可.(修改对应的配置文件进行添加)

修改.zshrc文件,并在底部添加环境变量如下语句 export PATH="/root/node-v10.13.0-linux-x64/bin:$PATH" 就可以全局使用node命令.这个比较简单(涉及到vim打开文件,编辑器的一些相关操作)

在命令行中输入vim,进入vim编辑器.

引用

  • vim filename 表示vim编辑器打开filename文件
  • i:插入模式,可以修改内容
  • ESC 退出i(插入)命令进行其他命令使用
  • :e! 放弃全部改动,不包括已保存的
  • :wq 退出保存修改的内容

(4).进入配置好的网站根目录 (firekylin.901web.com) 我的服务器端的根目录为 firekylin.901web.com.

cd /www/html/firekylin.901web.com (进入网站目录)

返回到上一次html文件夹.克隆博客框架源代码.

git clone https://github.com/firekylin/firekylin

代码到服务器上面.

然后将该文件夹下面的所有文件拷贝到->网站根目录下面去,执行以下Linux拷贝命令.

cp -r firekylin/. firekylin.901web.com (将一个文件下面的所有目录复制到另一个目录里)

(5).然后执行程序安装,填写相关的数据库配置信息.访问后台需要执行生产环境打包的命令.

执行npm run build,生产环境打包,会生成对应的打包后的压缩文件 admin.js 和 vendor.js 这两个文件是执行打包命令后生成的具体文件.(开始的时候一直报错,提示是模块引入出错,但是本地调试的时候却没有报这个错误的).

entry: {
    admin: './www/static/src/app.tsx'
},

而真实的文件名称是:App.tsx,这里的是大写的.在服务器上配置的时候打包一直报这个错误.最后统一了名称,打包成功啦.哈哈开心

(6).后台可以登录进去了.然后就是导入数据库文件.进行相关的设置.又遇到一个问题就是,访问网站的时候需要域名+端口号来才可以访问成功.例如:

firekylin.901web.com:8360 这样才可以成功. 其实由于这是node环境的配置,改为对应的IP地址+端口号也是可以访问成功的.114.55.52.104:8360 这种方式.

于是设置nginx做了反向代理. 并且修改站点下面的nginx配置.


server {
listen:80;
server_name:901web.com;
location / {
        proxy_pass http://127.0.0.1:3000;
    }
}

检验nginx是否配置正确:

nginx -t

重启下nginx服务器就好啦..

nginx -s reload

(7).再去进行访问 firekylin.901web.com 地址就可以访问到网站啦. 登录后台之后,更新文章有时候会报个错误. REFERRER_ERROR 上网查询了下. 主要是由于域名地址不统一,导致请求接口有时候报错.(可能之前有端口号.之后去掉了.)找到网站后台的设置,统一下地址即可. 再次测试了一下添加文章更新文章都可以啦.

(8).图片文件的话,引用的是七牛的cnd,开始注册的时候,系统默认生成了一个二级域名测试给你用,一段时间后就过期了。图片不能访问。之后我自己配置了一个二级域名,使用CNAME进行解析,然后数据库批量更新了原先的图片地址。可以正常访问啦。

SELECT markdown_content,content FROM fk_post WHERE markdown_content like '%http://p5kl8ssdb.bkt.clouddn.com/%' 

UPDATE fk_post set markdown_content=REPLACE(markdown_content,'http://p5kl8ssdb.bkt.clouddn.com/','https://images.901web.com/') where markdown_content LIKE '%http://p5kl8ssdb.bkt.clouddn.com/%';

UPDATE fk_post set content=REPLACE(content,'http://p5kl8ssdb.bkt.clouddn.com/','https://images.901web.com/') where content LIKE '%http://p5kl8ssdb.bkt.clouddn.com/%';

(9).安装pm2进行后台管理

npm install -g pm2

修改pm2.json文件网站项目的路径,然后用pm2即可后台启动项目:

pm2 start pm2.json

(10).第一次在服务器上面部署node环境,安装程序.还是遇到不少问题的.不过通过自己的搜索.请教同事和同学,在他们悉心的指导下面.还是完成了部署.首先自己心里不要害怕.大不了重新再来一次.出错了肯定有它的原因.慢慢的排查错误,慢慢的尝试,慢慢的折腾.才能够学到东西.积累经验.

(11).在排查错误的过程中.要善用调试,日志,搜索和打印来查找具体的问题原因.始终相信解决方法总比问题多.哈哈哈哈~

(12).自己的博客建站历程也经历了从最初的wordpress到hexo搭建,再到现在的firekylin部署,一路走下来也挺不容易的.

博客的迁移准备工作基本上大体完成的差不多啦.后面将转移到这两个地址上面来进行积累记录和相关的维护工作.

本文链接:https://901web.com/post/Linux环境部署Firekylin博客系统记录.html

-- EOF --

Comments

请在后台配置评论类型和相关的值。