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

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

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

~SUA.YuF  
什么是Ghost? ie 2X.#  
v"F.<Q  
&oWWc$  
Ghost是一个基于Node.js的博客程序。 ]i8K )/  
"SNsOf  
K.*?\)&  
Ghost 官方推荐使用 Node 0.10.x 版本,同时支持 Node 0.12.x 和 4.2.x 版本。 ?" {+m  
{l0;G) -  
 +h9U V  
安装Ghost _>dqz(8#  
#h6(DuViKw  
&VY;Al  
首先先需要安装Node.js,安装Node.js教程太多,这里不再赘述。过去写过一篇编译安装Node.js可供参考(版本号己改:http://codesky.me/archives/centos-nodejs-install.wind p87s99  
95T%n{rz  
_-%ay  
接下来下载Ghost,除了官网下载之外,这里推荐一下:http://www.ghostchina.com/download/ 0k:&7(j  
~BERs;4  
![7v_l\Q  
我下载了中文标准版,上传服务之后解压缩:unzip -uo ghost.zip -d ghost p$?c>lim  
"*RCV6{  
CV]PCq!  
接下来切换到Ghost目录:cd /你的 Ghost 解压目录 )N)ziAy}  
E;VBoN [  
ZNOoyWYi5  
npm install --production来进行安装 +A~lPXAXW  
'x+0 yd  
c`doR(oZ  
Ghost默认选用的是SQLite,如果你需要搭配其他数据库(比如MySQL),见此参考链接:在CentOS 系统上搭建安装 Ghost博客。如果你是新手,不建议对MySQL/Nginx等做过多修改(避免Boom),可以之后在自己的虚拟机之类的地方折腾积累经验,毕竟博客重要的是写文,所以那篇……看看就好。 >B8)Wb :  
X2 M<DeF:  
}2`S@Rq.WW  
这里顺便友情提示,MySQL的日志文件查看:less /var/log/mysqld.log u+I-!3J87  
)tFFa*Z'  
@]3(l  
如果你的MySQL无法启动,第一时间看看日志文件。 6Wc eDY  
a(x[+ El  
m9#u. Q*  
全部完成之后npm start,注意,此时启动是使用的默认的development环境,我们上线时,肯定用的是production,development可供调试和二次开发等。 =!#D UfQf  
P%ZWm=lg  
)@R:$l86  
默认会运行在:127.0.0.1:2368中,通过127.0.0.1:2368/ghost可以访问后台(初始化博客) OUI}jJw+  
gvoK  
YLSG 5vF+  
配置Ghost `(Q58wR}  
2i,Jnv=sR  
KOi%zE%  
如果测试无误,也就是说我们安装完毕了,下一步就要开始配置Ghost了,其实也没什么好改的,在production里把url修改为你需要绑定的域名或IP即可(此处似乎与后台传送门相对应,因此需要修改),其他可以不用动。 ;Jx ^  
ec=4L@V*  
JSGUl4N  
之后我们把Node改为production环境 U-WrZ|-  
5Qy,P kje  
B2845~\.  
echo "export NODE_ENV=production" >> ~/.profile cgz'6q'T  
source ~/.profile D"^ogY#LK  
配置PM2 6\::Ku4_2  
*,'"\n  
!Id F6 %  
如果你还没有安装过,那么接下来先安装PM2:npm install -g pm2 Z :Kob b  
p%3';7W\  
wV5<sH__  
此处可见教程:Node.js PM2 愉快部署Node.js U]R7=  
qZ1fQN1yG  
<m@U`RFm  
选择PM2是因为其方便快捷,你也可以选用其他服务,在本文参考链接中将给出。 %'g/4I  
C{2 UPG4x  
8i:b~y0  
于是pm2 start index.js -n ghost k?S-peyRO  
{|rwIRe  
\[D"W{9l  
配置Nginx Q'A->I<;_s  
如果你还没有安装过,可以参考:CentOS yum配置LNMP服务器(Nginx+PHP+MySQL) S:1! )7  
)%MB o.NL  
97Q!Rot  
在CentOS中,尤其注意需要配置iptables打开80端口,否则外部无法访问。(当然高版本的CentOS7貌似是没有iptables的?如果是Ubuntu,我记得也是没有这个的) P AKh v.7  
7XwFO0==  
]\_4r)cN<n  
配置Nginx反向代理,使其通过80端口访问,日后我们可以绑定多个端口,过去也有博文:CentOS Nginx反向代理 + Apache配置 F'*{Fk h  
$}\. )^[}  
9]7^/g*!  
由于这里我们不用配置Apache,所以步骤没有那么多: #D>8\#53V/  
vi /etc/nginx/conf.d/default.conf Zmp ^!|=X!  
|UlScUI,  
zF{ z_c#3@  
在server_name一行后加入(大致可以参考上文): HX=`kkX  
_Y~+ #Vc  
Fe/*U4xU  
    location / { IG bQ L  
        proxy_set_header   X-Real-IP $remote_addr; ^$T>3@rDB  
        proxy_set_header   Host      $http_host; =)T5Y,+rJ  
        proxy_pass         http://127.0.0.1:2368; z{%G  
    } @0)bY*njj  
基本上就变成了: t=yM}#r$  
zb9$  
y t<K!=7&  
server { icnp^2P  
    listen 80; Wm"W@LPx5  
    server_name example.com; r?Z8_5Y  
    location / { $I tehy  
        proxy_set_header   X-Real-IP $remote_addr; av5lgv)3  
        proxy_set_header   Host      $http_host; g@S"!9[;U  
        proxy_pass         http://127.0.0.1:2368; J[<:-$E  
    } U`:$1*(`  
} W/&cnp\  
当然,如果我们需要配置多个子目录,也很简单: ,rG$JCS'KQ  
O-mP{  
PR.?"$!D{  
server { +='.uc_  
    listen 80; #5'9T:8  
    server_name example.com; 7 bpV=  
    location / { >-]Y%O;}  
        proxy_set_header   X-Real-IP $remote_addr; }9@ ,EEhg  
        proxy_set_header   Host      $http_host; mF#{"  
        proxy_pass         http://127.0.0.1:3000; \]o#tYN\a0  
    } x==%BBnO%  
    location /ghostblog { b~cN#w #  
        proxy_set_header   X-Real-IP $remote_addr; 4egq Y0A  
        proxy_set_header   Host      $http_host; NPKRX Li%  
        proxy_pass         http://127.0.0.1:2368; [['un\~r~  
    } hPH= .rX  
} ` 8.d  
虽然我们不懂Nginx,不过这里很简单就能看出来,做反向代理还是很简单的,这样可以节约对外映射的端口数,也更加友好——试想一下别人看到你莫名其妙端口号的表情。(由于我的VPS是配置过PHP的,通过这种方法也能够让PHP和Node程序共用端口——其实是反向代理,非常爽)如果你的Node或者其他程序还在不断的占用你的端口们,请快点用Nginx解脱你的对外端口吧(Apache亦可,不过性能Nginx更好)。 Oi=kL{DG:s  
&|55:Y87  
M"5,8Q`PkI  
配置完成,重启Nginx:/etc/init.d/nginx restart YB~}!F [(  
RV7l=G9tq  
,GGr@})  
转载:CodeSky 代码之空 @e+QGd;}  
<{7B ^'  
@ Al\:  
参考资料 kcI3pmgj  
BEN=/ v  
> STWt>s  
MySQL安装: hQPiGIs  
Bo_Ivhe[m  
OZs^c2 W  
CentOS yum配置LNMP服务器(Nginx+PHP+MySQL) EO3?Dev  
z4{ H=  
;ukwKf s  
CentOS 编译安装MySQL5.6.17 XeKIue@_  
mKQ !@$*  
t|%wVj?_  
PM2: X^eTf-*T  
Keep Ghost Running with pm2 W{Ine> a'  
C /\)-^  
6/Q'o5>NL:  
其他: nYLq%7}k  
g%Sl+gWdJ  
$&I##od  
Ghost部署与安装全教程
本人不是云栖社区工作人员。
无论您在使用中遇到什么问题,不要出言不逊!谢谢合作!
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
验证问题: ECS是阿里云提供的什么服务? 正确答案:云服务器
上一个 下一个