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

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

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

`b:yW.#w3l  
什么是Ghost? k.n-JS  
(3VV(18  
qdNt2SO  
Ghost是一个基于Node.js的博客程序。 b#[EkI 0@  
dd-`/A@  
o+0x1Ct3P  
Ghost 官方推荐使用 Node 0.10.x 版本,同时支持 Node 0.12.x 和 4.2.x 版本。 'DdR2  
`^mY*Cb e  
elDt!9Pu  
安装Ghost AuIg=-xR  
i_{b *o_an  
ym*oCfu=  
首先先需要安装Node.js,安装Node.js教程太多,这里不再赘述。过去写过一篇编译安装Node.js可供参考(版本号己改:http://codesky.me/archives/centos-nodejs-install.wind 5fvY#6;  
0-at#r:  
H"vkp~u]I  
接下来下载Ghost,除了官网下载之外,这里推荐一下:http://www.ghostchina.com/download/ !mIr_d2"  
B,(zp#&yB  
MO%kUq|pg  
我下载了中文标准版,上传服务之后解压缩:unzip -uo ghost.zip -d ghost x='T`*HD  
/v-:ca)7mI  
w#!b #TNc  
接下来切换到Ghost目录:cd /你的 Ghost 解压目录 |y$8!*S~(  
[k{2)g  
5DS'22GW`  
npm install --production来进行安装 J.Fy0W@+k4  
Ql]+,^kA@  
BI|YaZa+p  
Ghost默认选用的是SQLite,如果你需要搭配其他数据库(比如MySQL),见此参考链接:在CentOS 系统上搭建安装 Ghost博客。如果你是新手,不建议对MySQL/Nginx等做过多修改(避免Boom),可以之后在自己的虚拟机之类的地方折腾积累经验,毕竟博客重要的是写文,所以那篇……看看就好。 s9[54 7?`  
m&a 8/5  
tl"?AQcBR  
这里顺便友情提示,MySQL的日志文件查看:less /var/log/mysqld.log T=,A pa  
EPiZe-  
6DT ^:LHS  
如果你的MySQL无法启动,第一时间看看日志文件。 C8W4~~1S  
YT~h1<se  
o"j$*o=  
全部完成之后npm start,注意,此时启动是使用的默认的development环境,我们上线时,肯定用的是production,development可供调试和二次开发等。 d}^G790  
<44A*ux  
I%M"I0FV  
默认会运行在:127.0.0.1:2368中,通过127.0.0.1:2368/ghost可以访问后台(初始化博客) @(W{_mw  
%EE Q ^lm  
5j~1%~,#  
配置Ghost m <'&`B;  
n5+Z|<3)  
_lMSW6  
如果测试无误,也就是说我们安装完毕了,下一步就要开始配置Ghost了,其实也没什么好改的,在production里把url修改为你需要绑定的域名或IP即可(此处似乎与后台传送门相对应,因此需要修改),其他可以不用动。 952l1c!  
i`^[_  
2Y~nU(  
之后我们把Node改为production环境 2bu>j1h  
ybU_x  
!:wA\mAd  
echo "export NODE_ENV=production" >> ~/.profile .R]DT5  
source ~/.profile } /*U~!t  
配置PM2 n?:%>Os$  
N|e#&  
7q(A&  
如果你还没有安装过,那么接下来先安装PM2:npm install -g pm2 ]Ns)fr 6  
xi[\2g+  
/m|U2rrqb  
此处可见教程:Node.js PM2 愉快部署Node.js p(!d,YSE  
K$KVm^`  
F R(k==pZ  
选择PM2是因为其方便快捷,你也可以选用其他服务,在本文参考链接中将给出。 \l1==,wk  
+Z e;BKZ3  
"\+.S]~  
于是pm2 start index.js -n ghost  k`w /  
|B {*so]  
d_ 7hh  
配置Nginx 2b K1.BD  
如果你还没有安装过,可以参考:CentOS yum配置LNMP服务器(Nginx+PHP+MySQL) 0.[tEnLZ  
)&j@={0  
Y_<-.?jf  
在CentOS中,尤其注意需要配置iptables打开80端口,否则外部无法访问。(当然高版本的CentOS7貌似是没有iptables的?如果是Ubuntu,我记得也是没有这个的) d:pGdr& .  
&B\ sG=  
RPdFLC/  
配置Nginx反向代理,使其通过80端口访问,日后我们可以绑定多个端口,过去也有博文:CentOS Nginx反向代理 + Apache配置 >hY.F/[  
&y&HxV  
F+ %l= fs  
由于这里我们不用配置Apache,所以步骤没有那么多: "hk {"0E  
vi /etc/nginx/conf.d/default.conf _2TL>1KZt  
i1S cXKO  
Mc&Fj1h5  
在server_name一行后加入(大致可以参考上文): *-*SCA`E^=  
@H8DGeM  
nH<#MG BS  
    location / { 6{quO# !  
        proxy_set_header   X-Real-IP $remote_addr; 5^K\<+{~B  
        proxy_set_header   Host      $http_host; /0o#V-E)  
        proxy_pass         http://127.0.0.1:2368; L{rd',  
    } f] _'icP  
基本上就变成了: K^ ALE  
pp{ 2[>  
3m| C8:  
server { j^%N:BQ&  
    listen 80; bz}-[W+  
    server_name example.com; 7pou(U  
    location / { Nz}PcWF/  
        proxy_set_header   X-Real-IP $remote_addr; 9F[_xe@  
        proxy_set_header   Host      $http_host; c8T| o=`k6  
        proxy_pass         http://127.0.0.1:2368; o7s!ti\G  
    } jtUqrJFlQ  
} 80ox$U  
当然,如果我们需要配置多个子目录,也很简单: )N*Jc @Y@  
9VanR ::XX  
PQp =bX,  
server { #IJe q0TVB  
    listen 80; fY6~Z BvK  
    server_name example.com; ?(n v_O  
    location / { XDHi4i47`o  
        proxy_set_header   X-Real-IP $remote_addr; p!5'#\^f  
        proxy_set_header   Host      $http_host; r?IBmatK/  
        proxy_pass         http://127.0.0.1:3000; ~>HzAo9e  
    } ^,#m y<{  
    location /ghostblog { l*6Zh "o:  
        proxy_set_header   X-Real-IP $remote_addr; gq"d$Xh$x7  
        proxy_set_header   Host      $http_host; RWGf]V]6  
        proxy_pass         http://127.0.0.1:2368; Ij$C@hH  
    } #=VYq4B=  
} 3%hq<  
虽然我们不懂Nginx,不过这里很简单就能看出来,做反向代理还是很简单的,这样可以节约对外映射的端口数,也更加友好——试想一下别人看到你莫名其妙端口号的表情。(由于我的VPS是配置过PHP的,通过这种方法也能够让PHP和Node程序共用端口——其实是反向代理,非常爽)如果你的Node或者其他程序还在不断的占用你的端口们,请快点用Nginx解脱你的对外端口吧(Apache亦可,不过性能Nginx更好)。 +<j7^AEG  
![ sXR  
|Fi5/$S.  
配置完成,重启Nginx:/etc/init.d/nginx restart &!OEd ]  
FJ-H ;  
JhfVm*,  
转载:CodeSky 代码之空 iaCV8`&q%  
#c5jCy}n  
B6Eu."T  
参考资料 OQ7 `n<I<)  
pF4Z4?W  
d&[RfZ`  
MySQL安装: D:;idUO  
Rd&DH_<+^  
W*t] d  
CentOS yum配置LNMP服务器(Nginx+PHP+MySQL) gf1+yJ^d!  
+.Ij%S[Px5  
%VH,(}i  
CentOS 编译安装MySQL5.6.17 Aeb(b+=  
vWZXb `  
0z8?6~M;<  
PM2: dF\#:[B  
Keep Ghost Running with pm2 2S{P(B   
D]]wJQU2  
1|(Q|  
其他: O=A2QykV(  
d=PX}o^  
EUi 70h +  
Ghost部署与安装全教程
本人不是云栖社区工作人员。
无论您在使用中遇到什么问题,不要出言不逊!谢谢合作!
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
验证问题: 阿里云官网域名是什么? 正确答案:www.aliyun.com
上一个 下一个