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

[网站运营]CentOS Ghost安装教程(PM2+Nginx)

级别: 论坛版主
发帖
371
云币
447

F[E? A95W  
什么是Ghost? !: us!s  
m_lr PY-  
])T/sO#'  
Ghost是一个基于Node.js的博客程序。 ok0X<MR!I  
Y1\K;;X  
z +VV}:Q  
Ghost 官方推荐使用 Node 0.10.x 版本,同时支持 Node 0.12.x 和 4.2.x 版本。 l4T:d^Eb  
la, h  
?2`$3[ET-  
安装Ghost Rlw3!]5+2  
O|z%DkH[  
2C/%gcN >  
首先先需要安装Node.js,安装Node.js教程太多,这里不再赘述。过去写过一篇编译安装Node.js可供参考(版本号己改:http://codesky.me/archives/centos-nodejs-install.wind Q7a(P  
ZBM!MSf:  
%$9bce-fcG  
接下来下载Ghost,除了官网下载之外,这里推荐一下:http://www.ghostchina.com/download/ ]VjLKFb~U  
YoSQN/Z  
=/Juh7[C  
我下载了中文标准版,上传服务之后解压缩:unzip -uo ghost.zip -d ghost !Q)3-u  
X47!E |*  
Fd8hGj1  
接下来切换到Ghost目录:cd /你的 Ghost 解压目录 0m=(W^c  
<GfVMD  
zSgjp\  
npm install --production来进行安装 p_6P`Yx^e  
W~dE  
yT:!%\F9  
Ghost默认选用的是SQLite,如果你需要搭配其他数据库(比如MySQL),见此参考链接:在CentOS 系统上搭建安装 Ghost博客。如果你是新手,不建议对MySQL/Nginx等做过多修改(避免Boom),可以之后在自己的虚拟机之类的地方折腾积累经验,毕竟博客重要的是写文,所以那篇……看看就好。 -!R l(if  
n;OHH{E{  
0k1MKzi Q  
这里顺便友情提示,MySQL的日志文件查看:less /var/log/mysqld.log Xb<)LHA~3  
x# 8IZ  
t9D S]Li  
如果你的MySQL无法启动,第一时间看看日志文件。 g :i*O^c @  
n\>.T[$"  
q/'MS[C  
全部完成之后npm start,注意,此时启动是使用的默认的development环境,我们上线时,肯定用的是production,development可供调试和二次开发等。 r@|ZlM@O  
78w4IICk  
o* _g$  
默认会运行在:127.0.0.1:2368中,通过127.0.0.1:2368/ghost可以访问后台(初始化博客) 9 z*(8d  
SALCuo"L  
uI9lK  
配置Ghost Sip_~]hM  
rC rr"O#j  
W-XN4:,qI  
如果测试无误,也就是说我们安装完毕了,下一步就要开始配置Ghost了,其实也没什么好改的,在production里把url修改为你需要绑定的域名或IP即可(此处似乎与后台传送门相对应,因此需要修改),其他可以不用动。 ~UW{)]_jox  
:BDviUC7Z  
yu_gNro L  
之后我们把Node改为production环境 GfNWP  
+V89J!7  
buc*rtHfA  
echo "export NODE_ENV=production" >> ~/.profile i ~P91  
source ~/.profile LOt#1Qv  
配置PM2 .m'N7`VB  
_<Vg[ -:1  
%\_h7:  
如果你还没有安装过,那么接下来先安装PM2:npm install -g pm2 FJlsWh4,6=  
c0hdLl;5  
M Hn&; A]  
此处可见教程:Node.js PM2 愉快部署Node.js #nDL  
4Xr"d@2(  
t5A[o7BS  
选择PM2是因为其方便快捷,你也可以选用其他服务,在本文参考链接中将给出。 *fOIq88  
a6 * Y%?  
qG*_w RF  
于是pm2 start index.js -n ghost 14;Av{Xt  
]X4RnV55Q  
GMt)}Hz  
配置Nginx B=^2g}mgK  
如果你还没有安装过,可以参考:CentOS yum配置LNMP服务器(Nginx+PHP+MySQL)  *X0K2|  
LsUFz_  
n *Q4G}p  
在CentOS中,尤其注意需要配置iptables打开80端口,否则外部无法访问。(当然高版本的CentOS7貌似是没有iptables的?如果是Ubuntu,我记得也是没有这个的) _i#@t7  
HMFl/%z  
8L@UB6b\  
配置Nginx反向代理,使其通过80端口访问,日后我们可以绑定多个端口,过去也有博文:CentOS Nginx反向代理 + Apache配置 yqC+P  
U8U/?zW/&  
>n#g9vK  
由于这里我们不用配置Apache,所以步骤没有那么多: Sk!v,gx  
vi /etc/nginx/conf.d/default.conf 4bFv"b  
upZYv~Sa  
Py}!C@e  
在server_name一行后加入(大致可以参考上文): Vl&+/-V  
?%_]rr9  
{8ld:ZP  
    location / { IZzhJK M1V  
        proxy_set_header   X-Real-IP $remote_addr; /0X0#+kn  
        proxy_set_header   Host      $http_host; !#l0@3  
        proxy_pass         http://127.0.0.1:2368; R4[. n@  
    } !tm|A`<g#<  
基本上就变成了: ^p'D<!6sK  
=]2 b8  
w;z@py  
server { )^V5*#69D  
    listen 80; *S,v$ VX  
    server_name example.com; }39M_4a&  
    location / { QYFN:XZ  
        proxy_set_header   X-Real-IP $remote_addr; ksxO<Y  
        proxy_set_header   Host      $http_host;  4Ub?*  
        proxy_pass         http://127.0.0.1:2368; 9F-ViDI.  
    } Q;{D8 #!  
} [)T$91 6I  
当然,如果我们需要配置多个子目录,也很简单: \" 5F;J  
 3D[:Rf[  
N9fUlXhR  
server { 7%~VOB  
    listen 80; D0,oml  
    server_name example.com; ?eY chVq  
    location / { P:bVcta9g  
        proxy_set_header   X-Real-IP $remote_addr; a78;\{&L'  
        proxy_set_header   Host      $http_host; zEA{%)W  
        proxy_pass         http://127.0.0.1:3000; xKkVSEup  
    } 'Sb6 w+  
    location /ghostblog { *NX*/(Q  
        proxy_set_header   X-Real-IP $remote_addr; : .UX[!^  
        proxy_set_header   Host      $http_host; PHE;  
        proxy_pass         http://127.0.0.1:2368; \?p9qR;"4  
    } -jklH/gF\%  
} ^$Me#ls!  
虽然我们不懂Nginx,不过这里很简单就能看出来,做反向代理还是很简单的,这样可以节约对外映射的端口数,也更加友好——试想一下别人看到你莫名其妙端口号的表情。(由于我的VPS是配置过PHP的,通过这种方法也能够让PHP和Node程序共用端口——其实是反向代理,非常爽)如果你的Node或者其他程序还在不断的占用你的端口们,请快点用Nginx解脱你的对外端口吧(Apache亦可,不过性能Nginx更好)。 QWIOim-  
H/ B^N,oi  
,<Do ^HB/  
配置完成,重启Nginx:/etc/init.d/nginx restart Kuzy&NI^w  
A~ %g"  
<_FF~lj  
转载:CodeSky 代码之空 *N&^bF"SF  
qH}62DP3  
?_<UOb*  
参考资料 ;d'O.i=  
` wsMybe#  
JUUF^/J  
MySQL安装: u3ri6Y`  
!x!L&p  
*T}dv)8  
CentOS yum配置LNMP服务器(Nginx+PHP+MySQL) d}6AHS[  
XDv7#Tv_wv  
$=6kh+n@  
CentOS 编译安装MySQL5.6.17 Y-q,Ovf!  
?X5glDZ$  
e]L3=R;  
PM2: u/c~PxC  
Keep Ghost Running with pm2 nms<6kfzL  
+~v3D^L15  
tg%WVy2  
其他: &@.=)4Y  
Ee?K|_\${  
-uY:2  
Ghost部署与安装全教程
本人不是云栖社区工作人员。
无论您在使用中遇到什么问题,不要出言不逊!谢谢合作!
发表主题 回复主题
« 返回列表上一主题下一主题

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