做開發(fā)有些時(shí)間了,一直希望從高標(biāo)準(zhǔn)嚴(yán)格自己,也希望有個(gè)特色風(fēng)格的技術(shù)博客,看了喵神的博客,我很喜歡,于是就仿照做了一個(gè)~
1.購買域名
域名也就是網(wǎng)址,可以到萬網(wǎng)、Godaddy等域名供應(yīng)商購買,我的域名lansefund.com是在萬網(wǎng)購買,如下:
當(dāng)然域名的后綴有很多種.com 改执、.cn 份蝴、.me 骂远、.net等,根據(jù)自己的偏好購買就可以了,如果想購買的域名被注冊(cè)了可以選擇其他的后綴!
2.域名解析
所謂解析就是域名綁定服務(wù)器IP地址即可,像這種輕量級(jí)的網(wǎng)站服務(wù)器可以選擇云虛擬主機(jī)或阿里云服務(wù)器ECS,我的是在在阿里云服務(wù)器ECS_Ubun系統(tǒng)上安裝Ghost,然后根據(jù)阿里云的教程一步步解析就好了刻恭。如果選擇云服務(wù)器ECS創(chuàng)建實(shí)例后會(huì)給一個(gè)彈性公用IP地址和私有IP地址,解析域名在IP地址里寫彈性公用IP地址佛玄。由于我用的是Mac,所以教程也是基于Mac OS的系統(tǒng),Windows的步驟也差不多,遇到問題多利用搜索引擎就好了!
域名解析好后,可以打開終端 輸入ping lansefund.com (ping空格+域名),如果出現(xiàn)下圖樣式,解析就成功了,(括號(hào)里面123.56.16.58是我的服務(wù)器IP地址)
3.配置服務(wù)器
打開終端,輸入命令行
ssh root@你的IP地址
回車,輸入你的服務(wù)器密碼
這段命令行用來連接服務(wù)器,出現(xiàn)下面的結(jié)果表示連接成功
3.1安裝node.js
- 1.安裝程序
Node.js是一個(gè)可以快速構(gòu)建網(wǎng)絡(luò)服務(wù)及應(yīng)用的 平臺(tái)硼一,基于Chrome's JavaScript runtime,即Google V8引擎梦抢,是一款高性能的服務(wù)架構(gòu)平臺(tái),Ubuntu系統(tǒng)上執(zhí)行以下代碼即可安裝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 默認(rèn)采用 Sqlite3 數(shù)據(jù)庫, 安裝MySQL執(zhí)行如下命令:
sudo apt-get install mysql-server mysql-client
安裝過程中般贼,系統(tǒng)會(huì)提示你給 root 用戶(這里的 root 是 MySQL 數(shù)據(jù)庫的管理賬號(hào)) 設(shè)置個(gè)密碼,建議設(shè)置的復(fù)雜些奥吩,更加安全些哼蛆。如下圖:
安裝成功后,為確保安全性執(zhí)行以下指令加強(qiáng) MySQL 的安全設(shè)置:
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 時(shí)為 root 賬戶設(shè)置的密碼
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 賬戶遠(yuǎn)程登錄?
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 默認(rèn)創(chuàng)建的 test 數(shù)據(jù)庫端衰,并刪除所有對(duì) test 數(shù)據(jù)庫的權(quán)限設(shè)置叠洗?
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.
//是否重新加載權(quán)限表甘改?
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 到此就安裝好了灭抑!
下面十艾,我們?yōu)闉?MySQL 設(shè)置默認(rèn)字符集械馆。將數(shù)據(jù)庫涧郊、htnl頁面、源碼文件都設(shè)置為統(tǒng)一的字符集會(huì)減少很多麻煩尸折,當(dāng)然案腺,utf8 是最好的選擇榄融。
執(zhí)行如下命令:
cd /etc/mysql
然后輸入
vi my.cnf
這條命令的作用是用 Vim編輯器打開 /etc/mysql 目錄下的 my.cnf 文件,在終端對(duì)文件進(jìn)行修改,將光標(biāo)定位到 [mysqld] 位置救湖,按 "i" 愧杯,添加如下紅線框內(nèi)設(shè)置,如下:
[mysqld]
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8
修改完成之后,按esc退出編輯,輸入:wq,退出MySQL。
4.安裝Ghost
4.1創(chuàng)建數(shù)據(jù)庫
輸入指令
mysql -uroot -p -e 'create database ghost;'
根據(jù)系統(tǒng)提示,輸入MySQL數(shù)據(jù)庫的root 的密碼(上一步驟剛設(shè)置過的).指令執(zhí)行之后就創(chuàng)建了一個(gè)叫做 ghost 的數(shù)據(jù)庫鞋既。
4.2 配置Nginx
我們利用 Nginx 做 Ghost 的前端代理服務(wù) 輸入:
cd /etc/nginx/sites-available/
sudo touch ghost.conf
sudo vi ghost.conf
就可以用vim 編輯器打開 ghost.conf 文件進(jìn)行編輯,如下
然后按esc :wq 退出編輯
4.3 建立軟連接
為 ghost.conf 文件做一個(gè)軟鏈接到 /etc/nginx/sites-enabled/ 目錄下:
sudo ln -s /etc/nginx/sites-available/ghost.conf /etc/nginx/sites-enabled/ghost.conf
4.4 安裝forever
如果是通過npm start 啟動(dòng) Ghost 的話力九,只要關(guān)閉了遠(yuǎn)程連接,Ghost 也就停了,為了使ghost永遠(yuǎn)運(yùn)行,使用 forever 工具解決這個(gè)問題邑闺。接下來執(zhí)行以下指令來安裝 forever,執(zhí)行如下命令:
sudo npm install forever -g
4.5 開始安裝Ghost
- 4.5.1.下載Ghost
先安裝curl,輸入
sudo apt-get install curl libcurl3 libcurl3-dev php5-curl
Ghost 安裝包是經(jīng)過壓縮的跌前,在 Linux上需要用 unzip
工具對(duì)其解壓,先要安裝 unzip工具:
sudo apt-get install unzip
然后下載Ghost 安裝包:
cd /srv/
sudo curl -L http://dl.ghostchina.com/Ghost-0.7.4.zip -o ghost.zip
網(wǎng)址的版本號(hào)可以根據(jù)ghostchina.com 上的最新版本修改陡舅,我寫這篇文章的最新版本是0.7.4抵乓,所以我輸入的是0.7.4。
解壓縮:
sudo unzip ghost.zip -d ghost
- 4.5.2 修改Ghost配置文件
進(jìn)入 Ghost 系統(tǒng)目錄靶衍,為 Ghost 增加配置文件并配置數(shù)據(jù)庫
cd /srv/ghost/
sudo cp config.example.js config.js
sudo vi config.js
修改production 的配置信息,修改為如下
完成之后按esc :wq 退出編輯灾炭。
- 4.5.3 安裝 Ghost 依賴庫
打開 Ghost 系統(tǒng)的目錄下面的 package.json 文件,將 "sqlite3": "x.x.0", 這一行刪除掉颅眶。
接下來蜈出,進(jìn)入存放 Ghost 系統(tǒng)的目錄并安裝 Ghost 所依賴的npm包:
cd /srv/ghost/
sudo npm install --production
所有依賴包就安裝好了,當(dāng)前目錄下會(huì)多出一個(gè)node_modules目錄。
- 4.5.4 啟動(dòng) Ghost
執(zhí)行如下指令重啟 Nginx涛酗、啟動(dòng) Ghost:
sudo service nginx restart
cd /srv/ghost
sudo NODE_ENV=production forever start index.js
所有的操作都做完了,待DNS生效后,打開域名,就可以看到Ghost博客已經(jīng)成功運(yùn)行了铡原。