我是如何搭建个人技术博客的

做开发有些时间了,一直希望从高标准严格自己,也希望有个特色风格的技术博客,看了喵神的博客,我很喜欢,于是就仿照做了一个~

1.购买域名

域名也就是网址,可以到万网Godaddy等域名供应商购买,我的域名lansefund.com是在万网购买,如下:

Snip20160418_1.png

当然域名的后缀有很多种.com 、.cn 、.me 、.net等,根据自己的偏好购买就可以了,如果想购买的域名被注册了可以选择其他的后缀!

2.域名解析

所谓解析就是域名绑定服务器IP地址即可,像这种轻量级的网站服务器可以选择云虚拟主机或阿里云服务器ECS,我的是在在阿里云服务器ECS_Ubun系统上安装Ghost,然后根据阿里云的教程一步步解析就好了。如果选择云服务器ECS创建实例后会给一个弹性公用IP地址和私有IP地址,解析域名在IP地址里写弹性公用IP地址。由于我用的是Mac,所以教程也是基于Mac OS的系统,Windows的步骤也差不多,遇到问题多利用搜索引擎就好了!

域名解析好后,可以打开终端 输入ping lansefund.com (ping空格+域名),如果出现下图样式,解析就成功了,(括号里面123.56.16.58是我的服务器IP地址)

Snip20160418_2.png

3.配置服务器

打开终端,输入命令行

ssh root@你的IP地址
回车,输入你的服务器密码

这段命令行用来连接服务器,出现下面的结果表示连接成功

Snip20160418_4.png

3.1安装node.js

  • 1.安装程序
    Node.js是一个可以快速构建网络服务及应用的 平台,基于Chrome's JavaScript runtime,即Google V8引擎,是一款高性能的服务架构平台,Ubuntu系统上执行以下代码即可安装Node.js
sudo apt-get update  
sudo apt-get install -y python-software-properties python g++ make  
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:chris-lea/node.js  
sudo apt-get update  
sudo apt-get install nodejs  
  • 2.查看是否安装成功
node -v
v0.10.37
npm -v
1.4.28

3.2 安装Nginx

输入安装命令
sudo apt-get install nginx

3.3安装MySQL

Ghost 默认采用 Sqlite3 数据库, 安装MySQL执行如下命令:

sudo apt-get install mysql-server mysql-client 

安装过程中,系统会提示你给 root 用户(这里的 root 是 MySQL 数据库的管理账号) 设置个密码,建议设置的复杂些,更加安全些。如下图:


Snip20160418_5.png

安装成功后,为确保安全性执行以下指令加强 MySQL 的安全设置:

sudo mysql_secure_installation 
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL  
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MySQL to secure it, we'll need the current  
password for the root user.  If you've just installed MySQL, and  
you haven't set the root password yet, the password will be blank,  
so you should just press enter here.

//输入安装 MySQL 时为 root 账户设置的密码
Enter current password for root (enter for none):  
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MySQL  
root user without the proper authorisation.

You already have a root password set, so you can safely answer 'n'.

//是否修改 root 账户的密码?
Change the root password? [Y/n] n  
 ... skipping.

By default, a MySQL installation has an anonymous user, allowing anyone  
to log into MySQL without having to have a user account created for  
them.  This is intended only for testing, and to make the installation  
go a bit smoother.  You should remove them before moving into a  
production environment.

//是否删除匿名用户?
Remove anonymous users? [Y/n] y  
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This  
ensures that someone cannot guess at the root password from the network.

//是否禁止 root 账户远程登录?
Disallow root login remotely? [Y/n] y  
 ... Success!

By default, MySQL comes with a database named 'test' that anyone can  
access.  This is also intended only for testing, and should be removed  
before moving into a production environment.

//是否删除 MySQL 默认创建的 test 数据库,并删除所有对 test 数据库的权限设置?
Remove test database and access to it? [Y/n] y  
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far  
will take effect immediately.

//是否重新加载权限表?
Reload privilege tables now? [Y/n] y  
 ... Success!

Cleaning up...



All done!  If you've completed all of the above steps, your MySQL  
installation should now be secure.

Thanks for using MySQL!  

OK!MySQL 到此就安装好了!

下面,我们为为 MySQL 设置默认字符集。将数据库、htnl页面、源码文件都设置为统一的字符集会减少很多麻烦,当然,utf8 是最好的选择。

执行如下命令:

cd /etc/mysql 

然后输入

vi my.cnf 

这条命令的作用是用 Vim编辑器打开 /etc/mysql 目录下的 my.cnf 文件,在终端对文件进行修改,将光标定位到 [mysqld] 位置,按 "i" ,添加如下红线框内设置,如下:

Snip20160418_6.png
[mysqld]
collation-server = utf8_unicode_ci  
init-connect='SET NAMES utf8'  
character-set-server = utf8 

修改完成之后,按esc退出编辑,输入:wq,退出MySQL。

4.安装Ghost

4.1创建数据库

输入指令

mysql -uroot -p -e 'create database ghost;' 

根据系统提示,输入MySQL数据库的root 的密码(上一步骤刚设置过的).指令执行之后就创建了一个叫做 ghost 的数据库。

4.2 配置Nginx

我们利用 Nginx 做 Ghost 的前端代理服务 输入:

cd /etc/nginx/sites-available/
sudo touch ghost.conf 
sudo vi ghost.conf 

就可以用vim 编辑器打开 ghost.conf 文件进行编辑,如下

Snip20160418_7.png

然后按esc :wq 退出编辑

4.3 建立软连接

为 ghost.conf 文件做一个软链接到 /etc/nginx/sites-enabled/ 目录下:

sudo ln -s /etc/nginx/sites-available/ghost.conf /etc/nginx/sites-enabled/ghost.conf 

4.4 安装forever

如果是通过npm start 启动 Ghost 的话,只要关闭了远程连接,Ghost 也就停了,为了使ghost永远运行,使用 forever 工具解决这个问题。接下来执行以下指令来安装 forever,执行如下命令:

sudo npm install forever -g 

4.5 开始安装Ghost

  • 4.5.1.下载Ghost
    先安装curl,输入
sudo apt-get install curl libcurl3 libcurl3-dev php5-curl

Ghost 安装包是经过压缩的,在 Linux上需要用 unzip
工具对其解压,先要安装 unzip工具:

sudo apt-get install unzip  

然后下载Ghost 安装包:

cd /srv/
sudo curl -L http://dl.ghostchina.com/Ghost-0.7.4.zip -o ghost.zip  

网址的版本号可以根据ghostchina.com 上的最新版本修改,我写这篇文章的最新版本是0.7.4,所以我输入的是0.7.4
解压缩:

sudo unzip ghost.zip -d ghost
  • 4.5.2 修改Ghost配置文件
    进入 Ghost 系统目录,为 Ghost 增加配置文件并配置数据库
cd /srv/ghost/  
sudo cp config.example.js config.js  
sudo vi config.js  

修改production 的配置信息,修改为如下

Snip20160419_2.png

完成之后按esc :wq 退出编辑。

  • 4.5.3 安装 Ghost 依赖库
    打开 Ghost 系统的目录下面的 package.json 文件,将 "sqlite3": "x.x.0", 这一行删除掉。
    接下来,进入存放 Ghost 系统的目录并安装 Ghost 所依赖的npm包:
cd /srv/ghost/ 
sudo npm install --production

所有依赖包就安装好了,当前目录下会多出一个node_modules目录。

  • 4.5.4 启动 Ghost
    执行如下指令重启 Nginx、启动 Ghost:
sudo service nginx restart
cd /srv/ghost 
sudo NODE_ENV=production forever start index.js

所有的操作都做完了,待DNS生效后,打开域名,就可以看到Ghost博客已经成功运行了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容

  • 首先上个成品:eric.com 一.购买域名,服务器 购买的渠道很多,我是直接在阿里云官网把两个买齐的.买域名没什...
    ericze阅读 1,408评论 4 9
  • 文章参考自 kitten 的这篇文章和 Ghost 官网王赛写的这篇文章那么既然已经有人写了很详细的文章,为什么我...
    Mitchell阅读 3,448评论 4 3
  • 博客地址 1. 域名购买 域名就是网址,比如你输入img421.com(一级域名),而我的博客blog.img42...
    Springer阅读 2,921评论 4 20
  • 一、文件/文件夹管理 ls 列出当前目录文件(不包括隐含文件) ls -a 列出当前目录文件(包括隐含文件) ls...
    会飞的鱼Coo阅读 4,490评论 1 23
  • 一直以来就对僵尸、丧尸、末日类题材的电影很感兴趣,所以隔三差五的总是去找找有没有什么新电影看。 近日,找了几个月的...
    烽言烽语阅读 1,840评论 0 0