阿里云
阿里云多端小程序中小企业获客首选
发表主题 回复主题
  • 8883阅读
  • 1回复

[基础常识]Ghost 的高可用安装 安装篇

级别: 论坛版主
发帖
9349
云币
14165
NuR7pjNMZ  
r=n{3o+  
前面详细的讲述了,在 Node.js 4.x 环境下安装 Ghost 博客平台的准备工作,包括配置、系统的选择,组建的选择等等,如果没有看过的同学,一定要去看一下! 门:Ghost 的高可用安装 准备篇》 wx3_?8z/O  
3XQa%|N(  
下载、准备 k^%=\c  
2QaE&8vW  
`r1}:`.m,  
这里我们推荐安装的是由王赛翻译的 Ghost 中文版(非官方,因为官方也没有出中文版。)因为,它不仅被翻译了,而且其去除了像谷歌字体这样的会拖慢速度的内容;集成 node_modules 免去了大陆主机无法运行的问题 sr;&/l#7h  
pL{oVk#,  
uluAqDz`  
下载 http://dl.ghostchina.com/Ghost-0.7.4-zh-full.zip 到相应目录,例如我设置的是 /data/wwwroot/mf8。 @lj|  
  1. mkdir -p /data/wwwroot/mf8/ //如果没有就要创建  
  2. cd /data/wwwroot/mf8/  //进入目录  
  3. wget http://dl.ghostchina.com/Ghost-0.7.4-zh-full.zip  //下载中文版  
  4. unzip Ghost-0.7.4-zh-full.zip //解压  
  5. npm install --production //跑跑试试,4.x 版本可能会提醒你兼容问题,其实没关系的,不理会即可
Bz }nP9  
zr?s5RS  
z<55[~3  
然后打开 http://yourdomain:2368 看看能不能访问 [M[#f&=Z  
.S|7$_9;b  
编辑 config ?]D&D:Z?I  
N0S^{j,i  
D?_K5a&v,  
我们要修改 config.js 文件,如果没有就讲 config.example.js 改了,
  1. cp config.example.js config.js
(5!'42  
y5eEEG6  
0L/chP  
一,修改域名 I;'{X_9$a  
&'fER-  
  1. url: 'http://my-ghost-blog.com', 修改成 url: 'http://你的域名',
  2. 如果使用了 ssl,且不想全站的话,再添加:urlSSL: https://s你的域名
u1X^#K$nu'  
ExtC\(X;  
f9K7^qwkiz  
gV.?Myy  
二,修改,邮箱 6Pl|FI JF  
:L@ ;.s  
KR$Fd  
mail: {}, 修改成       .*` ^dt  
  1. mail: {
  2.            transport: 'SMTP',
  3.            from: '发件人地址',
  4.            options: {
  5.                      host: 'smtp 邮件发送服务器',
  6.                      secureConnection: true, // 填 true 则使用加密传输.false 则不
  7.                      port: 465, //如果上面填 true,这里填465;如果上面填 false,这里填 25
  8.                      auth: {
  9.                             user: '邮箱地址',
  10.                             pass: 'A邮箱密码'
  11.                             }
  12.                     }
  13.                 },
j2,sI4  
EF<TU.)Zf  
kV1L.Xg  
如果你不想多用户合作,其实不设置也没关系。 X?t;uZI^  
#l}Fk)dj  
三,修改数据库 >ZkL`!:s  
"Y<;R+z  
}MOXJb @  
如果,你想使用 sqlite 的话,则不用改,如果使用 pg 或者 MariaDB(Mysql) 则改。 3 zh:~w_  
  1. database: {
  2.             client: 'sqlite3',
  3.             connection: {
  4.                 filename: path.join(__dirname, '/content/data/ghost.db')
  5.             },
E$ \l57  
nlB'@r  
9jImuSZ  
MariaDB(Mysql) (NFrZ0  
SN@>mpcJS  
  1. database: {
  2.             client: 'mysql', // MariaDB 也填这个
  3.             connection: {
  4.                 host     : 'localhost', //如果使用 RDS 等云数据库则修改为连接地址
  5.                 user     : '用户名称',
  6.                 password : '用户密码',
  7.                 database : '数据库名称',
  8.                 charset  : 'utf8' //字符集
  9.             },
  10.             debug: false
  11.         },
ftRFG  
}=EJM7sM|k  
} iKjef#J  
这里的话,默认连接次数是 min: 2, max: 10,如果需要改动,则添加:pool: {min: 2,max: 20} z"mVE T  
一只保持连接,则设置 min: 0 %/I:r7UR{  
EY"of[p  
PostgreSQL #3*cA!V.<  
_{'[Uf/l  
          
  1. client: 'pg',
  2.             connection: {
  3.                 host     : 'localhost',
  4.                 user     : '用户名称',
  5.                 password : '用户密码',
  6.                 database : '数据库名称',
  7.                 charset  : 'utf8' //字符集
  8.                 //port     : '如果要设置端口,请在这里填写'
  9.             }
  10.         },
Ac U@H0  
wY ItG"+6  
q<3La(^/  
四,设置端口 H (;@7dh  
`_cv& "K9f  
  1. server: {
  2.             host: '127.0.0.1', //部分配置可能需要设置成 0.0.0.0
  3.             port: '2368' //端口,如果要安装多个博客,那就要设置多个端口了。
  4.         },
-sA&1n"W&5  
3}\z&|  
YT8q0BR]  
q`p0ul,n  
五,设置附件 4eB'mPor  
k9*UBx  
1_{e*=/y  
内容较多,而且 Ghostchina 的设置教程也都失效了,有空我单独写一篇介绍一下,会点英语的都看的懂的。 RTlC]`IGT  
如果你还要设置更多,请参考官方文档:http://support.ghost.org/config/ b|AjB:G  
+#wVe  
运行 <J%Z?3@ T  
WwsNAJ  
  1. npm install --production
  2.     npm start
kHr-UJ!  
e^ N~)Nlj  
`5- ;'nX  
再打开 http://yourdomain:2368 就能跑气来了,如果你发现你修改的参数并没有生效,则可能是因为运行在 development 模式,而非 production 所以,我们需要修改 /core/index.js 文件,将  
  1. process.env.NODE_ENV = process.env.NODE_ENV || 'development';
xKE=$SV(  
YZfi-35@g  
修改为:
  1. process.env.NODE_ENV = process.env.NODE_ENV || 'production';
O$,  
S}rEQGGR{  
AQ$)JPs  
守护进程 s/@uGC0>  
5rLx b  
]*zG*.C  
Vfzy BjQ  
当你将 SSH 关闭,或者 Ctrl + c 后,会发现网站就打不开了,因此这里我们需要来维持 Ghost 的运行。 pmBN?<  
守护进程一般用如下软件:
j_,/U^Ws|f  
引用
Upstart:只能在开机启动,无法守护进程  GpTZp#~;  
PM2:可开机启动,程序崩溃自动重新打开,可监控运行 !EKt$8W  
Supervisor:可开机自启动,程序崩溃自动重新打开 G.O;[(3ab  
Forever:不能开机自启动
1v:Ql\^cT  
07>m*1G  
">=Ep+ix  
所以,这里我们选择 Supervisor 或 PM2,MF8.biz 使用后者。 HgW!Q(*  
H2|'JA#v  
Supervisor e~gNGr]L/  
Dn<3#V  
q 1xSylE  
引用
Debian/Ubuntu: apt-get install supervisor
Fedora/RHEL: yum installsupervisor
其他大多数发行版: easy_install supervisor
!D1#3?L  
确保使用service supervisor start启动了 supervisor ,然后为ghost创建安装脚本, vi /etc/supervisor/conf.d/ghost.conf 输入以下内容,记得替换{ghost_path} 3}V (8  
注: {ghost_path} 就是你安装 Ghost 的路径,例如米饭粑的 Ghost 在/data/wwwroot/mf8 那么路径就是这个。 #Ev}Gf+5Q  
MPnMLUB$\  
,? <;zq  
  1. [program:ghost]
  2. command = node {ghost_path}/index.js  
  3. directory = {ghost_path}/ghost  
  4. user = ghost  
  5. autostart = true  
  6. autorestart = true  
  7. stdout_logfile = /var/log/supervisor/ghost.log  
  8. stderr_logfile = /var/log/supervisor/ghost_err.log  
  9. environment = NODE_ENV="production"
;Egl8Vhr  
*\#<2 QAe  
^! h3#4  
PM2 *VXx\&  
*>?N>f"  
q'7.lrKwa>  
安装 Ndl{f=sjX-  
npm install pm2 大陆主机安装了 cnpm,就用 cnpm install pm2 }>AA[ba"'  
在你的 ghost 目录,运行,
  1. NODE_ENV=production pm2 start index.js --name "ghost"
+cXi|Zf  
;yqHt!N  
开机自启动,
  1. pm2 startup ubuntu //可以换成,centos、debian
n}Eu^^d  
*6<4ECa7C  
保存,
  1. pm2 save
aC' 6  
lE%KzX?&  
.!^OmT,u  
Nginx 反代 1F>8#+B/W  
?A\+s,9  
61QA<Wb  
在对应域名的 conf 中,添加     ;~r-P$kCY  
  1. location / {
  2.         proxy_set_header   X-Real-IP $remote_addr;
  3.         proxy_set_header   Host      $http_host;
  4.         proxy_pass         http://127.0.0.1:2368;
  5.     }
j*gZvbO;'L  
?/T=G k  
wvisu\V  
就可以反代了,如果是 https,则是:   O0rvr$.  
  1. location ~ ^/(?:ghost|signout) {
  2.         proxy_set_header X-Real-IP $remote_addr;
  3.         proxy_set_header Host $http_host;
  4.         proxy_pass http://127.0.0.1:2368;
  5.         add_header Cache-Control "no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0";
  6.         proxy_set_header X-Forwarded-Proto https;
  7.     }
~Fo2MwE2~  
来自:来自:https://www.mf8.biz/archives/8/
[ 此帖被ivmmff在2016-01-24 22:26重新编辑 ]
级别: 码农
发帖
136
云币
378
只看该作者 沙发  发表于: 2016-01-21
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
验证问题: 14 - 3 = ?
上一个 下一个
      ×
      全新阿里云开发者社区, 去探索开发者的新世界吧!
      一站式的体验,更多的精彩!
      通过下面领域大门,一起探索新的技术世界吧~ (点击图标进入)