阿里云
阿里云大学认证0元起
发表主题 回复主题
  • 694阅读
  • 0回复

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

级别: 论坛版主
发帖
370
云币
639

zK_P3r LsS  
什么是Ghost? @A`j Wao  
ZzQLbCV  
 !I&,!$  
Ghost是一个基于Node.js的博客程序。 jS8B:>  
W1LR ,:$  
V[Sj+&e&  
Ghost 官方推荐使用 Node 0.10.x 版本,同时支持 Node 0.12.x 和 4.2.x 版本。 iweT @P`  
Ejf5M\o  
<R~;|&o,$  
安装Ghost MZWv#;.]  
*(5T?p[7  
o=Mm=;H  
首先先需要安装Node.js,安装Node.js教程太多,这里不再赘述。过去写过一篇编译安装Node.js可供参考(版本号己改:http://codesky.me/archives/centos-nodejs-install.wind  T-+ uQ3  
oIj -Y`92!  
xpu 2RE  
接下来下载Ghost,除了官网下载之外,这里推荐一下:http://www.ghostchina.com/download/ Eht8~"fj  
>vYb'%02  
]Wjcr2Wq  
我下载了中文标准版,上传服务之后解压缩:unzip -uo ghost.zip -d ghost M)Z!W3  
L`w r~E2u  
vg"*%K$a  
接下来切换到Ghost目录:cd /你的 Ghost 解压目录 Oz&*A/si+3  
W:9l"'  
3Z` wU  
npm install --production来进行安装 GZn=Hgv8  
(#)XRm{t  
&h!O<'*2  
Ghost默认选用的是SQLite,如果你需要搭配其他数据库(比如MySQL),见此参考链接:在CentOS 系统上搭建安装 Ghost博客。如果你是新手,不建议对MySQL/Nginx等做过多修改(避免Boom),可以之后在自己的虚拟机之类的地方折腾积累经验,毕竟博客重要的是写文,所以那篇……看看就好。 -yBj7F|  
{^:NII]  
6R$Yh0%  
这里顺便友情提示,MySQL的日志文件查看:less /var/log/mysqld.log .j>MsQP#\C  
c^puz2  
myqwU`s  
如果你的MySQL无法启动,第一时间看看日志文件。 EAxdF u  
?Pf#~U_  
Je2&7uR0  
全部完成之后npm start,注意,此时启动是使用的默认的development环境,我们上线时,肯定用的是production,development可供调试和二次开发等。 {X_I>)Wg  
5~im.XfiVx  
YTTi j|(  
默认会运行在:127.0.0.1:2368中,通过127.0.0.1:2368/ghost可以访问后台(初始化博客) ` vFDO$K  
R?2HnJh  
DO+~    
配置Ghost Aho*E9VW  
;4GGXT++L  
KK6z3"tk5  
如果测试无误,也就是说我们安装完毕了,下一步就要开始配置Ghost了,其实也没什么好改的,在production里把url修改为你需要绑定的域名或IP即可(此处似乎与后台传送门相对应,因此需要修改),其他可以不用动。 ^Oeixi@f  
VZ">vIRyi|  
V\e1NS  
之后我们把Node改为production环境 SXO.|"M  
![fNlG!r  
\Y8 sIs  
echo "export NODE_ENV=production" >> ~/.profile B4*y-Q.*  
source ~/.profile B.;@i;7L  
配置PM2 C+jXH)|iq  
}A;YM1^$  
W=LJhCpRHj  
如果你还没有安装过,那么接下来先安装PM2:npm install -g pm2 ~RwoktO  
Gm9  
w Jp1Fl~  
此处可见教程:Node.js PM2 愉快部署Node.js >j$aY  
Ex|Z@~T12  
@g+v2(f2v  
选择PM2是因为其方便快捷,你也可以选用其他服务,在本文参考链接中将给出。 |%fNLUJ)  
SDNRcSbOD6  
?*r%*CL  
于是pm2 start index.js -n ghost 84reyA  
T<b* =i  
pR=R{=}wV  
配置Nginx in,0(I&I  
如果你还没有安装过,可以参考:CentOS yum配置LNMP服务器(Nginx+PHP+MySQL) Qp)?wny4  
+ @|u8+  
5L~lF8  
在CentOS中,尤其注意需要配置iptables打开80端口,否则外部无法访问。(当然高版本的CentOS7貌似是没有iptables的?如果是Ubuntu,我记得也是没有这个的) I>vU;xV\m  
v6Y[_1  
Kb;Pd!Q  
配置Nginx反向代理,使其通过80端口访问,日后我们可以绑定多个端口,过去也有博文:CentOS Nginx反向代理 + Apache配置 U:eX^LE7  
eT5IL(mH  
nN@ Ch  
由于这里我们不用配置Apache,所以步骤没有那么多: 9IrCu?n9b  
vi /etc/nginx/conf.d/default.conf bi+g=cS  
ad47 42  
hNkv lk'Ui  
在server_name一行后加入(大致可以参考上文): >SziRm>Y7  
|8[!`T*s  
<RbfW'<G  
    location / { &`vThs[x  
        proxy_set_header   X-Real-IP $remote_addr; 4}cxSl]jf!  
        proxy_set_header   Host      $http_host; i O?f&u  
        proxy_pass         http://127.0.0.1:2368; p[At0Gc L  
    } p1i}fGS  
基本上就变成了: Ie=gI+2  
k q?:<!z  
uV@' 898%5  
server { ?MmQ'1N  
    listen 80; QlR~rFs9t  
    server_name example.com; M.Tp)ig\#  
    location / { QJiH^KY6  
        proxy_set_header   X-Real-IP $remote_addr; $FX$nY  
        proxy_set_header   Host      $http_host; 3vAP&i'I  
        proxy_pass         http://127.0.0.1:2368; 99By.+~pX  
    } @|">j#0  
} VYh/ URU>  
当然,如果我们需要配置多个子目录,也很简单: G?\eO&QG{"  
Bz>f  
vkR ~nIp  
server { t]]Ig  
    listen 80; (Pw,3CbJ  
    server_name example.com; upZc~k!1\  
    location / { pr4y*!|Y$  
        proxy_set_header   X-Real-IP $remote_addr; mJ5%+.V  
        proxy_set_header   Host      $http_host; SAf)#HXa  
        proxy_pass         http://127.0.0.1:3000; -O=xgvh"  
    } & ?5)Jis:  
    location /ghostblog { 9xw"NcL  
        proxy_set_header   X-Real-IP $remote_addr; t98S[Z(-%+  
        proxy_set_header   Host      $http_host; K]M@t=  
        proxy_pass         http://127.0.0.1:2368; AS~!YR  
    } _nxu8g]  
} xt "-Jmox  
虽然我们不懂Nginx,不过这里很简单就能看出来,做反向代理还是很简单的,这样可以节约对外映射的端口数,也更加友好——试想一下别人看到你莫名其妙端口号的表情。(由于我的VPS是配置过PHP的,通过这种方法也能够让PHP和Node程序共用端口——其实是反向代理,非常爽)如果你的Node或者其他程序还在不断的占用你的端口们,请快点用Nginx解脱你的对外端口吧(Apache亦可,不过性能Nginx更好)。 xE!0p EHd  
P0hr=/h4  
S*J\YcqSC  
配置完成,重启Nginx:/etc/init.d/nginx restart ZfVY:U:o>  
bT T>  
_:5t~29  
转载:CodeSky 代码之空 QOrMz`OA  
I!1+#0SG  
e 6>j gy  
参考资料 >mJ`904L  
6o9&FU  
1|H4]!7kE  
MySQL安装: 2P@6Qe ?  
K{@xZ)  
5|Z8UzL  
CentOS yum配置LNMP服务器(Nginx+PHP+MySQL) /Qef[$!(  
B <qsa QG  
~@X3qja  
CentOS 编译安装MySQL5.6.17 n$7*L9)(C  
N1.1  
jA^Dk$  
PM2: P7bb2"_9  
Keep Ghost Running with pm2 Ct~j/.  
xWK/uE(  
$G }9iV7  
其他: 3k(tv U+eC  
"XLtrAu{  
kZrc^  
Ghost部署与安装全教程
本人不是云栖社区工作人员。
无论您在使用中遇到什么问题,不要出言不逊!谢谢合作!
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
验证问题: 阿里云官网域名是什么? 正确答案:www.aliyun.com
上一个 下一个