在CentOS 系統(tǒng)上搭建安裝 Ghost博客


這是我搭建好的Ghost博客

目前網(wǎng)絡(luò)上對(duì)搭建Ghost的教程明顯比較舊了,一個(gè)流程下來并不能成功,本人整理下這篇文章,讓大家也能用上寫作體驗(yàn)輕便快捷的Ghost博客。

我的系統(tǒng)是32位的CentOS 6,也是目前VPS上主流的操作系統(tǒng)

我的版本信息:
--VPS:Alpharacks
--操作系統(tǒng)版本:32位的CentOS 6
--nginx版本:1.8.0
--node版本:node-v0.10.40 (目前Ghost官方建議的版本)
--Mysql版本:5.1.73
--Ghost版本:v0.7.4 full (zh)

前期準(zhǔn)備

yum update 更新yum源
yum groupinstall "Development Tools" 安裝開發(fā)工具包
yum install wget 安裝wget下載工具

開始安裝Nginx

我們先編輯下Nginx的倉儲(chǔ)地址,新建nginx.repo文件:
vi /etc/yum.repos.d/nginx.repo
在文件中寫入以下內(nèi)容:

[nginx] 
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ 
gpgcheck=0
enabled=1

保存退出(按Esc結(jié)束編輯,Shift + ;鍵, 輸入wq,回車),vi編輯器的使用就默認(rèn)不說了
ok現(xiàn)在使用yum下載Nginx,并安裝:
sudo yum install nginx -y
sudo service nginx start 開啟nginx
sudo chkconfig nginx on 設(shè)置nginx為開機(jī)啟動(dòng)
ok,這樣Nginx的安裝就完成了,在瀏覽器中輸入VPS的IP或者域名就可以看見Nginx友好的提示:“Welcome to Nginx!”

使用Nginx配置反向代理

如果完成上一步并且在瀏覽器中看見Nginx的welcome,那么我們就可以開始配置反向代理,讓代理從80端口指向2368端口
去到以下這個(gè)目錄:
cd /etc/nginx/conf.d
刪掉default.conf配置文件
rm default.conf
在此目錄下新建一個(gè).conf文件,文件名隨意
vi myself.conf
在文件中寫入以下內(nèi)容:

server {
    listen 80;
    server_name zyden.vicp.cc;
    location / {
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   Host      $http_host;
        proxy_pass         http://127.0.0.1:2368;
        proxy_set_header REMOTE-HOST $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

將server_name換成自己的域名,或者ip,保存退出,并重啟nginx:
service nginx restart
ok,nginx的問題就close file了

安裝配置Mysql

Ghost v0.7.4 full (zh) 集成了sqlite3,不喜歡用Mysql的話可以忽略此步驟

yum install mysql mysql-server
service mysqld start 啟動(dòng)mysql
chkconfig mysqld on 設(shè)置為開機(jī)啟動(dòng)
mysql_secure_installation 配置mysql 如下:

Set root password? [Y/n] //設(shè)置root密碼   -- 根據(jù)個(gè)人需求
anonymous users? [Y/n] //刪除匿名用戶   -- y  
Disallow root login remotely? [Y/n] //禁止root用戶遠(yuǎn)程登錄   --n  
Remove test database and access to it? [Y/n] //刪除默認(rèn)的 test 數(shù)據(jù)庫   --y  
Reload privilege tables now? [Y/n] //是否馬上應(yīng)用最新的設(shè)置   --y 

為了支持中文,我們還要修改mysql的字符支持,編輯MySQL的配置文件:
vi /etc/my.cnf
在對(duì)應(yīng)的位置加上對(duì)應(yīng)的內(nèi)容:

[client]
default-character-set=utf8  
[mysql]
default-character-set=utf8  
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci

新建一個(gè)ghost專用的mysql用戶和專用的database:

mysql -u root -p  
//用root用戶登錄mysql

create database ghost
//創(chuàng)建ghost數(shù)據(jù)庫  

GRANT ALL PRIVILEGES ON ghost.* To 'ghost'@'%' IDENTIFIED BY '密碼';
//創(chuàng)建ghost database 和 用戶名為ghost的用戶
//%代表能被所有地址訪問

安裝Node.js

這里根據(jù)Ghost官方的建議,我們安裝v0.10.40版本
wget http://nodejs.org/dist/v0.10.40/node-v0.10.40.tar.gz
tar zxvf node-v0.10.40.tar.gz
cd node-v0.10.40
./configure
make && make install

安裝Ghost

我們將ghost安裝在/var/www下
cd /var/www沒有就創(chuàng)建
wget http://dl.ghostchina.com/Ghost-0.7.4-zh-full.zip我們下載中文版的Ghost
unzip Ghost-0.7.4-zh-full.zip -d ghost 解壓為ghost文件夾
cd ghost
這里要將config.example.js重命名為config.js再對(duì)其進(jìn)行修改配置
mv config.example.js config.js
vi config.js
我們找到生產(chǎn)環(huán)境的配置:production

Ghost-0.7.4-zh-full這個(gè)版本默認(rèn)集成 sqlite3 原生庫,但博客篇幅比較大時(shí),sqlite讀寫數(shù)據(jù)量太大時(shí)將會(huì)影響頁面加載速度,我們可以根據(jù)個(gè)人需求改用mysql


如果選擇使用sqlite則在config.js中只需要修改url地址

production: {  
    url: 'zyden.vicp.cc', //這里是你自己VPS主機(jī)的域名,或者IP
    mail: {},
    database: {
        client: 'mysql'這里我選擇使用mysql作為我博客的數(shù)據(jù)庫
        connection: {
            host     : '127.0.0.1',
            user     : 'ghost', //mysql用戶名
            password : '', //密碼
            database : 'ghost', //之前創(chuàng)建的ghost數(shù)據(jù)庫名稱
            charset  : 'utf8'
        },
    server: {
            host: '127.0.0.1',
            port: '2368'//若修改該端口記得在nginx中做相應(yīng)改變
        }
    }  

現(xiàn)在可以用命令npm start來試試啟動(dòng)開發(fā)者模式的Ghost,啟動(dòng)后在瀏覽器輸入自己VPS 主機(jī)的地址如果能看見Ghost。那么一切就成功了!
Ctrl + C 中斷掉開發(fā)者模式。

使用PM2讓Ghost永遠(yuǎn)在線

只要我們一斷開ssh,Ghost的進(jìn)程就會(huì)被關(guān)閉,這里我們使用PM2來守護(hù)Ghost服務(wù)進(jìn)程,并讓其運(yùn)行在生產(chǎn)模式production上

//!!首先進(jìn)到ghost的安裝目錄
//安裝pm2
npm install pm2 -g
//讓ghost以production模式運(yùn)作,指定程序的入口index.js,并且此進(jìn)程命名為ghost
NODE_ENV=production pm2 start index.js --name "ghost"
//開機(jī)啟動(dòng)
pm2 startup centos
pm2 save

進(jìn)程守護(hù)做完,順便提提pm2重啟進(jìn)程的命令是:pm2 restart 進(jìn)程名

ok,在瀏覽器可以看見自己的Ghost博客了,地址后面加上/ghost就可以訪問后臺(tái),一開始需要注冊(cè)個(gè)賬戶(保存在你的數(shù)據(jù)庫里),這個(gè)用戶是對(duì)于你主機(jī)上的Ghost博客管理人員而言的,用于登陸你的Ghost博客后臺(tái),而與公網(wǎng)上的其他用戶沒有關(guān)系。

有什么問題留言,我會(huì)盡量幫忙。謝謝支持

歡迎轉(zhuǎn)載,請(qǐng)注明出處: http://zyden.vicp.cc/centos-ghost-blog/
謝謝

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容