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

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

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

+]VW[ $W  
什么是Ghost? C$v !emu  
'1 \UFz  
+gb"} cN  
Ghost是一个基于Node.js的博客程序。 gkx<<)y l  
OnE~0+  
]k.YG!$  
Ghost 官方推荐使用 Node 0.10.x 版本,同时支持 Node 0.12.x 和 4.2.x 版本。 oR<;Tr~{q  
7{=+Va5  
elP#s5l4  
安装Ghost u$x'P <b  
)Vx C v  
.ldBl  
首先先需要安装Node.js,安装Node.js教程太多,这里不再赘述。过去写过一篇编译安装Node.js可供参考(版本号己改:http://codesky.me/archives/centos-nodejs-install.wind -kzg(+sm  
HR?a93  
2|8$@*-\  
接下来下载Ghost,除了官网下载之外,这里推荐一下:http://www.ghostchina.com/download/ FOX0  
AiV1 vD`  
~NO'8 Mr  
我下载了中文标准版,上传服务之后解压缩:unzip -uo ghost.zip -d ghost 0a v2w5>af  
]-u>HO g\  
H^w Inkf>  
接下来切换到Ghost目录:cd /你的 Ghost 解压目录 'jU;.vZex  
 OV$|!n  
th|TwD&mO  
npm install --production来进行安装 6 Zv~c(   
:}fIu?hCA  
CK} _xq2b  
Ghost默认选用的是SQLite,如果你需要搭配其他数据库(比如MySQL),见此参考链接:在CentOS 系统上搭建安装 Ghost博客。如果你是新手,不建议对MySQL/Nginx等做过多修改(避免Boom),可以之后在自己的虚拟机之类的地方折腾积累经验,毕竟博客重要的是写文,所以那篇……看看就好。 `[.4SIah  
lO^YAOY  
%@[ ~s,6<  
这里顺便友情提示,MySQL的日志文件查看:less /var/log/mysqld.log ~^"s.Lsb  
!X/O1PM|  
?rububDT{  
如果你的MySQL无法启动,第一时间看看日志文件。 je~gk6}Y  
o7s<G8;?  
Y\7/`ty  
全部完成之后npm start,注意,此时启动是使用的默认的development环境,我们上线时,肯定用的是production,development可供调试和二次开发等。 l#%G~c8x  
ndB*^nT  
BYsQu.N  
默认会运行在:127.0.0.1:2368中,通过127.0.0.1:2368/ghost可以访问后台(初始化博客) e5.sqft  
#jR1ti)p  
hvU\l`m  
配置Ghost E@^mlUf  
W!WeYV}kb  
&$E.rgtg  
如果测试无误,也就是说我们安装完毕了,下一步就要开始配置Ghost了,其实也没什么好改的,在production里把url修改为你需要绑定的域名或IP即可(此处似乎与后台传送门相对应,因此需要修改),其他可以不用动。 6I$:mHEhd  
C*,PH!$k  
O2>W#7  
之后我们把Node改为production环境 3r,^is  
c9N5c  
wDS(zG   
echo "export NODE_ENV=production" >> ~/.profile N"o+;yR  
source ~/.profile 5Gsjt+ o  
配置PM2 >qjV(_?F-  
)Aa  h  
- -H%FYF`  
如果你还没有安装过,那么接下来先安装PM2:npm install -g pm2 7`Bwo*Y  
B< BS>(Nr>  
p*S;4+>#  
此处可见教程:Node.js PM2 愉快部署Node.js b_j8g{/9  
dsUY[X-<6  
\Zms  
选择PM2是因为其方便快捷,你也可以选用其他服务,在本文参考链接中将给出。 ?3+>% bO  
1*J#:|({(  
ck4g=QpD{  
于是pm2 start index.js -n ghost 1$G'Kg/  
!`F^LXGA  
^L;k  
配置Nginx /Jci1o  
如果你还没有安装过,可以参考:CentOS yum配置LNMP服务器(Nginx+PHP+MySQL) 8cyC\Rs  
z@n779i  
MW6KEiQ"  
在CentOS中,尤其注意需要配置iptables打开80端口,否则外部无法访问。(当然高版本的CentOS7貌似是没有iptables的?如果是Ubuntu,我记得也是没有这个的) @ag*zl  
``4lomz>  
C2 ] x  
配置Nginx反向代理,使其通过80端口访问,日后我们可以绑定多个端口,过去也有博文:CentOS Nginx反向代理 + Apache配置 o{&UT VyGs  
SQd`xbIuL  
%/x%hs;d  
由于这里我们不用配置Apache,所以步骤没有那么多: Rr>h8Ni <  
vi /etc/nginx/conf.d/default.conf 15^5y RXC  
X@n\~[.B  
kGX;x}q  
在server_name一行后加入(大致可以参考上文): 8fwM)DKS  
W=k%aB?p  
-'OO6mU  
    location / { op%?V :  
        proxy_set_header   X-Real-IP $remote_addr; M%NapK  
        proxy_set_header   Host      $http_host; Q5s?/r  
        proxy_pass         http://127.0.0.1:2368; MYb^ILz H3  
    } ?)~j>1"S  
基本上就变成了: Kc:} Ky  
I2wT]L UV  
An%V>a-[  
server { >xt*(j&}  
    listen 80; 7o4 vf~  
    server_name example.com; *I}_B\kY  
    location / { >5jHgs#  
        proxy_set_header   X-Real-IP $remote_addr; ;#$zHR  
        proxy_set_header   Host      $http_host; e]+ [lq\p@  
        proxy_pass         http://127.0.0.1:2368; M\s^>7es  
    } dIo|i,-  
} afZPju"-  
当然,如果我们需要配置多个子目录,也很简单: @Yq!  
cg,_nG]i  
O;A/(lPW+  
server { N!fp;jvG  
    listen 80; YJ5;a\QxN  
    server_name example.com; a91Q*X%  
    location / { rwxJR@Ttn  
        proxy_set_header   X-Real-IP $remote_addr; 6wWA(![w"  
        proxy_set_header   Host      $http_host; ^saJfr x  
        proxy_pass         http://127.0.0.1:3000; ?nFT51 t/4  
    } 2#A u6BvX  
    location /ghostblog { V,uhBMT#  
        proxy_set_header   X-Real-IP $remote_addr; Oz9k.[j(  
        proxy_set_header   Host      $http_host; dBG]J18  
        proxy_pass         http://127.0.0.1:2368; qR_"aQ7s2  
    } (D8'qx-M  
} ?.A6HrAPB  
虽然我们不懂Nginx,不过这里很简单就能看出来,做反向代理还是很简单的,这样可以节约对外映射的端口数,也更加友好——试想一下别人看到你莫名其妙端口号的表情。(由于我的VPS是配置过PHP的,通过这种方法也能够让PHP和Node程序共用端口——其实是反向代理,非常爽)如果你的Node或者其他程序还在不断的占用你的端口们,请快点用Nginx解脱你的对外端口吧(Apache亦可,不过性能Nginx更好)。 U[S;5xeF.j  
Iw"?%k\U  
[,5clR=F  
配置完成,重启Nginx:/etc/init.d/nginx restart U gB  
e_6 i896  
@fpxGMy&  
转载:CodeSky 代码之空 xiRTp:>  
cQPH le2  
CSU>nIE0  
参考资料 2$NP46z}  
VH*j3  
TF^]^XS'  
MySQL安装: t*Q12Q  
PfrW,R~r  
9/s-|jD  
CentOS yum配置LNMP服务器(Nginx+PHP+MySQL) `hlyN]L  
"E2 g7n&  
*rEW@06^\  
CentOS 编译安装MySQL5.6.17 5o~Z>  
Vxgc|E^J  
1<R \V  
PM2: r9vC&pWZ  
Keep Ghost Running with pm2 V,M8RYOnC!  
[=E<iPl  
56':U29.]  
其他: K->p&6s  
Dkdm~~Rr  
"J{,P9P6  
Ghost部署与安装全教程
本人不是云栖社区工作人员。
无论您在使用中遇到什么问题,不要出言不逊!谢谢合作!
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
批量上传需要先选择文件,再选择上传
 
验证问题: 阿里云官网域名是什么? 正确答案:www.aliyun.com
上一个 下一个