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

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

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

+85#`{ D  
什么是Ghost? S]!s)q-- z  
\^o8qw'pt  
"PgVvm#w'  
Ghost是一个基于Node.js的博客程序。 hcn $uyP  
OBb m?`[  
E_q/*}]pE  
Ghost 官方推荐使用 Node 0.10.x 版本,同时支持 Node 0.12.x 和 4.2.x 版本。 \r %y^G  
]MD,{T9l\>  
7 bV(eV  
安装Ghost NS<C"O  
bG0 |+k3O  
ak,KHA6u  
首先先需要安装Node.js,安装Node.js教程太多,这里不再赘述。过去写过一篇编译安装Node.js可供参考(版本号己改:http://codesky.me/archives/centos-nodejs-install.wind oW}nr<G{<  
v~8Cp C  
VSx9aVPkC  
接下来下载Ghost,除了官网下载之外,这里推荐一下:http://www.ghostchina.com/download/ &9Y ^/W  
N5PW]  
G]]"J c  
我下载了中文标准版,上传服务之后解压缩:unzip -uo ghost.zip -d ghost ^fiJxU  
yj$$k~@  
#B!| sXC  
接下来切换到Ghost目录:cd /你的 Ghost 解压目录 U g:  
X<%`  
,`Keqfx  
npm install --production来进行安装 &Fiesi!tET  
_:N=  
8Y]% S9.  
Ghost默认选用的是SQLite,如果你需要搭配其他数据库(比如MySQL),见此参考链接:在CentOS 系统上搭建安装 Ghost博客。如果你是新手,不建议对MySQL/Nginx等做过多修改(避免Boom),可以之后在自己的虚拟机之类的地方折腾积累经验,毕竟博客重要的是写文,所以那篇……看看就好。 }/w]+f*  
~8 B]  
')Q  
这里顺便友情提示,MySQL的日志文件查看:less /var/log/mysqld.log <x8I<K  
/Nc)bF%gX  
PglSQ2P  
如果你的MySQL无法启动,第一时间看看日志文件。 ?gsPHPUS  
ZveNe~D7C  
.FN;3HU  
全部完成之后npm start,注意,此时启动是使用的默认的development环境,我们上线时,肯定用的是production,development可供调试和二次开发等。 A"B#t"  
C'y4 ~7  
u`.3\Geh  
默认会运行在:127.0.0.1:2368中,通过127.0.0.1:2368/ghost可以访问后台(初始化博客) sYq:2Wn>8Q  
$>8O2p7W  
XU`ly3!  
配置Ghost 1{ H=The  
?8do4gT+1  
y6dQ4Whv&  
如果测试无误,也就是说我们安装完毕了,下一步就要开始配置Ghost了,其实也没什么好改的,在production里把url修改为你需要绑定的域名或IP即可(此处似乎与后台传送门相对应,因此需要修改),其他可以不用动。 fikDpR  
5DpvMhc_  
ddS3;Rk2  
之后我们把Node改为production环境 SiYH@Wma  
=H`yzGt  
~,_@|,)  
echo "export NODE_ENV=production" >> ~/.profile ~?4 BP%g-y  
source ~/.profile K'}I?H~P_  
配置PM2 <PFF\NE9  
? 'qyI^m@  
dVPY07P  
如果你还没有安装过,那么接下来先安装PM2:npm install -g pm2 $dxA7 `L  
a/v]E]=qI  
f|=u{6  
此处可见教程:Node.js PM2 愉快部署Node.js T, +=ka$  
BoQ%QV69%  
;"2VU"  
选择PM2是因为其方便快捷,你也可以选用其他服务,在本文参考链接中将给出。 I94-#*~I  
(Hmm^MV)  
diNAT`|?#  
于是pm2 start index.js -n ghost }$'XV.  
L|Xg4Z  
.R@s6}C`}=  
配置Nginx =k*XGbU  
如果你还没有安装过,可以参考:CentOS yum配置LNMP服务器(Nginx+PHP+MySQL) Zb&pH~ 7  
eIEL';N6  
J0 dY%pH#  
在CentOS中,尤其注意需要配置iptables打开80端口,否则外部无法访问。(当然高版本的CentOS7貌似是没有iptables的?如果是Ubuntu,我记得也是没有这个的) }VRl L>HAC  
oY5`r)C7  
@( \R@`#  
配置Nginx反向代理,使其通过80端口访问,日后我们可以绑定多个端口,过去也有博文:CentOS Nginx反向代理 + Apache配置 tUuARo7#  
Z)IF3{*  
*Ojl@N  
由于这里我们不用配置Apache,所以步骤没有那么多: Q)y5'u qZ  
vi /etc/nginx/conf.d/default.conf /\_n5XI1  
]kXW eY<  
Vhh=GJ  
在server_name一行后加入(大致可以参考上文): Y+o\?|q-E  
|V4<eF-0S  
S*>T%#F6Uo  
    location / { '!ks $}$`h  
        proxy_set_header   X-Real-IP $remote_addr; H] g=( %ok  
        proxy_set_header   Host      $http_host; 7R7+jL,  
        proxy_pass         http://127.0.0.1:2368;  \m~p;B  
    } G@`ZDn  
基本上就变成了: $+f=l~/s  
ZjMnGRP  
Xz)qtDN|(  
server { Rj H68=n  
    listen 80; w~'}uh  
    server_name example.com; ?pfr^ !@$  
    location / { v-SX PL]_^  
        proxy_set_header   X-Real-IP $remote_addr; )`(]jx!  
        proxy_set_header   Host      $http_host; }#u #m.  
        proxy_pass         http://127.0.0.1:2368; 5y 5Dn!`  
    } -|^)8  
} hdi0YL  
当然,如果我们需要配置多个子目录,也很简单: {l5fKVb\C  
G'p322Bu  
zeuj  
server { s3nO"~tM  
    listen 80; 9 &uf   
    server_name example.com; JKfJ%yy |  
    location / { 0IdA!.|  
        proxy_set_header   X-Real-IP $remote_addr; -aVC`  
        proxy_set_header   Host      $http_host; qljsoDG  
        proxy_pass         http://127.0.0.1:3000; *Cf!p\7!  
    } #T2J +  
    location /ghostblog { kE .4 #  
        proxy_set_header   X-Real-IP $remote_addr; f+hHc8g  
        proxy_set_header   Host      $http_host; TEY~E*=}$  
        proxy_pass         http://127.0.0.1:2368; P_NF;v5 v  
    } mB"I(>q*M  
} UWqD)6  
虽然我们不懂Nginx,不过这里很简单就能看出来,做反向代理还是很简单的,这样可以节约对外映射的端口数,也更加友好——试想一下别人看到你莫名其妙端口号的表情。(由于我的VPS是配置过PHP的,通过这种方法也能够让PHP和Node程序共用端口——其实是反向代理,非常爽)如果你的Node或者其他程序还在不断的占用你的端口们,请快点用Nginx解脱你的对外端口吧(Apache亦可,不过性能Nginx更好)。 CxjB9#  
;5.&TQT  
-,b+tC<V)0  
配置完成,重启Nginx:/etc/init.d/nginx restart ~=iH*AQR  
;aW k-  
%+Ze$c}X  
转载:CodeSky 代码之空 ?#xm6oe#aH  
1w(3!Ps+  
C$PS@4'U  
参考资料 vVw@^7U  
|,:p[Oy  
6(d6Uwc`  
MySQL安装: ^ex\S8j  
1J/'R37lP  
Z;81 "   
CentOS yum配置LNMP服务器(Nginx+PHP+MySQL) f+uyO7  
{~F|"v  
;J,(YNI 1  
CentOS 编译安装MySQL5.6.17 )V2W:M  
yT_W\"=8  
X:g5;NT  
PM2: yiC7)=  
Keep Ghost Running with pm2 q0VAkVHw4  
>x;\H(g  
15Mtlb  
其他: 4/`;(*]Fv  
[QgP6f]=  
i83~&Q=  
Ghost部署与安装全教程
本人不是云栖社区工作人员。
无论您在使用中遇到什么问题,不要出言不逊!谢谢合作!
发表主题 回复主题
« 返回列表上一主题下一主题

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