阿里云服务器搭建Ghost博客教程

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
对象存储 OSS,20GB 3个月
云服务器ECS,u1 2核4GB 1个月
简介: Ghost是一个基于Node.js开发的免费开源博客平台,用于简化个人博客和在线出版物的在线发布过程。本文介绍了部署Ghost博客的详细步骤。

Ghost是一个基于Node.js开发的免费开源博客平台,用于简化个人博客和在线出版物的在线发布过程。本文介绍了部署Ghost博客的详细步骤


背景信息


随着业务的扩展,您可以使用阿里云强大的产品平台,平滑地横向和纵向扩展服务容量,例如:


  • 扩展单个ECS实例的CPU和内存规格,增强服务器的处理能力。
  • 增加多台ECS实例,并利用负载均衡,在多个实例中进行负载的均衡分配。
  • 利用弹性伸缩(Auto Scaling),根据业务量自动增加或减少ECS实例的数量。
  • 利用对象存储OSS(Object Storage Service),存储静态网页和海量图片、视频等。

本文档介绍如何使用一台基本配置的云服务器ECS实例搭建Ghost。适用于初次使用阿里云进行建站的个人用户。


步骤一:创建Linux实例


对于个人使用的小型网站,一台ECS实例可以满足基本需求。具体通过阿里云活动中购买ECS,创建一台Linux实例。


在配置参数时,您需要注意以下几点:


  • 实例:对于个人网站,实例规格为1 核 2GB或2 核 4GB就能满足基本需求。关于实例规格的详细介绍,请参见实例规格族
  • 网络:选择专有网络。
  • 公网带宽:如果选择0 MB,则不分配外网 IP,该实例将无法访问公网。如果您选择了按使用流量,同时选择0 MB固定带宽,则同样不分配外网 IP,而且不支持0 MB带宽升级,因此请谨慎选择。
  • 镜像:如果用于建站,可以选择公共镜像中的 Linux 操作系统,例如:CentOS。

实例创建完成后,您会收到短信和邮件通知,告知您的实例名称、公网IP地址、内网IP地址等信息。您可以使用这些信息登录并管理实例。


很多重要的信息都是通过绑定手机的短信接收,并且重要的操作(例如重启、停止等)都需要手机接收验证码,因此请务必保持绑定手机通信畅通。


步骤二:部署Web环境


本节以安装Nginx为例介绍如何部署Web环境。


软件包中包含的软件及版本为:nginx/1.10.2


说明 这是写文档时参见的软件版本。您下载的版本可能与此不同。


部署Web环境之前,请确认以下信息:


  • 您的实例可以连接公网。
  • 已安装用于连接Linux实例的工具,例如:SecureCRT。本节将以这个工具为例介绍操作步骤。

完成以下操作,部署Web环境:


  1. 打开SecureCRT ,设置登录实例所需的信息。
    1. 设置连接名称。
    2. 协议选择SSH。
    3. 输入主机IP地址和用户。
    4. 单击确定保存。


    设置登录信息

  2. 输入用户名root和登录密码。


    输入用户名密码

  3. 添加Nginx软件库。
    [root@localhost ~]#rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
  4. 安装Nginx。
    [root@localhost ~]#yum -y install nginx
  5. 设置Nginx服务器自动启动。
    [root@localhost ~]# systemctl enable nginx.service
  6. 启动Nginx并查看Nginx服务状态。
    [root@localhost ~]#systemctl start nginx.service
    [root@localhost ~]#systemctl status nginx.service
  7. 在浏览器中输入IP地址,可以看到默认的Nginx网页。


    nginx网页


至此,Nginx搭建完成。


步骤三:安装Ghost


完成以下操作,安装Ghost:


  1. 请从https://ghost.org/zip/ghost-latest.zip下载最新版的Ghost安装包。
  2. 更新系统。确保您的服务器系统处于最新状态。
    [root@localhost ~]# yum -y update
  3. 安装Node.js。

    1. 安装EPEL。
      [root@localhost ~]# yum install epel-release -y
    2. 安装Node.js和npm。
      [root@localhost ~]# yum install nodejs npm --enablerepo=epel
    3. 安装进程管理器以便控制Node.js应用程序。这个进程管理器可以保持应用程序一直处于运行状态。
      [root@localhost ~]# npm install pm2 -g
    4. 安装后运行node -vnpm -v命令检查Node.js的版本。
  4. 安装Ghost。
    <ol id="substeps-fmv-qao-jt8"><li id="substep-pjs-5qj-h8v"><a href="https://www.aliyun.com/minisite/goods?userCode=nd0gfumn" target="_blank">创建Ghost安装目录。 </a>
      <pre class="has" id="codeblock-l08-nn2-uau"><code>[root&#64;localhost ~]# mkdir -p /var/www/ghost</code></pre> </li><li id="substep-m8h-sei-2bl"><a href="https://www.aliyun.com/minisite/goods?userCode=nd0gfumn" target="_blank">进入Ghost安装目录&#xff0c;下载最新版本的Ghost安装包。 </a>
        <pre class="has" id="codeblock-yhi-jgk-vvk"><code>[root&#64;localhost ~]# cd /var/www/ghost

    [root@localhost ghost]# curl -L https://ghost.org/zip/ghost-latest.zip -o ghost.zip

  5. 解压Ghost安装包。
    [root@localhost ghost]# yum install unzip -y
    [root@localhost ghost]# unzip ghost.zip
  6. 使用npm安装Ghost。
    [root@localhost ghost]# npm install -production
  7. 安装完成后运行npm start命令启动Ghost,检查是否安装成功。
  8. 从示例配置文件config.example.js复制并新建Ghost配置文件config.js。
    <pre class="has" id="codeblock-htr-xmc-07z"><code>[root&#64;localhost ghost]# cp config.example.js config.js</code></pre> </li><li id="substep-que-88w-xxl"><a href="https://www.aliyun.com/minisite/goods?userCode=nd0gfumn" target="_blank">配置config.js文件中的URL为Ghost博客的域名。 </a>
      <pre class="has" id="codeblock-0c7-5un-klg"><code>[root&#64;localhost ghost]# vim config.js</code></pre> <br /><a href="http://static-aliyun-doc.oss-cn-hangzhou.aliyuncs.com/assets/img/9768/156533583212477_zh-CN.png"><img alt="修改域名" class="has" id="image-ew4-2sg-ysv" src="https://imgconvert.csdnimg.cn/aHR0cDovL3N0YXRpYy1hbGl5dW4tZG9jLm9zcy1jbi1oYW5nemhvdS5hbGl5dW5jcy5jb20vYXNzZXRzL2ltZy85NzY4LzE1NjUzMzU4MzIxMjQ3N196aC1DTi5wbmc?x-oss-process&#61;image/format,png" /></a></li><li id="substep-s77-21b-vew"><a href="https://www.aliyun.com/minisite/goods?userCode=nd0gfumn" target="_blank">使用进程管理器配置Ghost处于永久运行状态。 </a>
        <pre class="has" id="codeblock-yih-off-8hr"><code>[root&#64;localhost ghost]# NODE_ENV&#61;production pm2 start index.js --name &#34;ghost&#34;</code></pre> </li><li id="substep-0o1-y6b-ekd"><a href="https://www.aliyun.com/minisite/goods?userCode=nd0gfumn" target="_blank">开启/停止/重启ghost。 </a>
          <pre class="has" id="codeblock-1un-5x2-4cc"><code>[root&#64;localhost ghost]# pm2 start ghost

    [root@localhost ghost]# pm2 stop ghost
    [root@localhost ghost]# pm2 restart ghost

安装Nginx。
  1. 添加Nginx软件库。
    [root@localhost ~]# rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
  2. 安装Nginx。
    [root@localhost ~]# yum -y install nginx
  3. 设置Nginx服务器自动启动。
    [root@localhost ~]# systemctl enable nginx.service
  4. 启动Nginx并查看Nginx服务状态。
    [root@localhost ~]#systemctl start nginx.service
    [root@localhost ~]#systemctl status nginx.service
  5. 在浏览器中输入IP地址,可以看到默认的Nginx的网页。


    nginx网页

配置Nginx作为Ghost的反向代理。

  1. 进入Nginx配置目录,新建Ghost博客的Nginx配置文件。
    [root@localhost ~]#vim /etc/nginx/conf.d/ghost.conf
  2. 将以下内容输入到ghost.conf中,把server_name改成实际的域名。


    修改域名

  3. 修改默认的配置文件default.conf为default.conf.bak,使Nginx只应用于ghost.conf。
    [root@localhost ~]#mv default.conf default.conf.bak
  4. 重启Nginx服务。
    [root@localhost conf.d]# systemctl restart nginx.service
访问Ghost博客。
<ol id="substeps-3u6-4hz-d73"><li id="substep-0fb-6hq-861">在浏览器输入http://IP或http://域名即可访问Ghost。<a href="http://static-aliyun-doc.oss-cn-hangzhou.aliyuncs.com/assets/img/9768/156533583312480_zh-CN.png"><img alt="Ghost网页" class="has" id="image-1cp-ss7-ksh" src="https://imgconvert.csdnimg.cn/aHR0cDovL3N0YXRpYy1hbGl5dW4tZG9jLm9zcy1jbi1oYW5nemhvdS5hbGl5dW5jcy5jb20vYXNzZXRzL2ltZy85NzY4LzE1NjUzMzU4MzMxMjQ4MF96aC1DTi5wbmc?x-oss-process&#61;image/format,png" /></a> <p><strong>说明</strong> 如果访问出现502&#xff0c;请检查是否是防火墙的问题&#xff0c;可以关闭防火墙。</p> </li><li id="substep-v2n-cq1-v6j">如果需要对博客进行编辑修改&#xff0c;在浏览器输入http://IP/ghost即可。 <p><br /><a href="http://static-aliyun-doc.oss-cn-hangzhou.aliyuncs.com/assets/img/9768/156533583312481_zh-CN.png"><img alt="修改博客" class="has" id="image-9oa-s4u-2ji" src="https://imgconvert.csdnimg.cn/aHR0cDovL3N0YXRpYy1hbGl5dW4tZG9jLm9zcy1jbi1oYW5nemhvdS5hbGl5dW5jcy5jb20vYXNzZXRzL2ltZy85NzY4LzE1NjUzMzU4MzMxMjQ4MV96aC1DTi5wbmc?x-oss-process&#61;image/format,png" /></a></p> </li></ol></li></ol>

步骤四:购买域名


您可以给自己的网站设定一个单独的域名。这样您的用户可以使用易记的域名访问您的网站,而不需要使用复杂的IP地址。


建议登录阿里云购买域名。


  1. 购买域名页面,搜索您需要的域名,如尚未被注册,则可以购买。选择要购买的域名及期限,然后结算。


    购买域名

  2. 在确认订单的时候,需要选择您的域名的所有者。

    为方便操作,建议暂时先选择个人,以后可以在会员中心进行修改。本文以个人用户为例。
    选择域名所有者

  3. 如果这是您首次购买域名,需要创建消息模板。


    创建信息模板

  4. 选择用会员信息自动填写。请务必填写真实信息。


    配置信息模板

  5. 填写完成后需要进行实名认证。上传个人身份证正面扫描件。审核一般需要3~5个工作日。

步骤五:备案


对于域名指向中国境内服务器的网站,必须进行网站备案。在域名获得备案号之前,网站是无法开通使用的。


阿里云有代备案系统,方便您进行备案。备案免费,审核时间一般为20天左右,请您耐心等待。


  1. 登录备案管理控制台。
  2. 在左侧导航栏,单击备案管理 > 备案服务号申请,然后单击申请,为购买的ECS实例申请备案服务号,此服务号在备案时会用到。


    申请备案服务号

  3. 在弹出的提示信息对话框中,单击确定。
  4. 申请成功后,页面自动跳转到备案服务号管理页面,显示与 ECS 实例绑定的备案号。然后单击备案专区,了解备案相关信息。


    备案专区

  5. 首次备案的用户,需要在ICP代备案管理系统注册一个备案账号。

    说明 该备案账号不是阿里云账号,而是申请备案专用的账号。

    关于首次备案的详细步骤,请参见首次备案



步骤六:配置域名解析


您需要在阿里云万网上配置域名解析之后,用户才能通过域名访问您的网站。


  1. 登录域名管理控制台
  2. 在左侧导航栏,单击域名 > 域名列表。在域名列表中找到要解析的域名,在操作列 ,单击解析。


    解析域名

  3. 单击新手引导设置。
  4. 在文本框内输入您的 Linux 实例的公网 IP 地址,单击提交。

    设置成功,会出现如下信息。
    设置成功提示


恭喜您!您可以使用域名访问自己的网站了!


云服务器ECS地址:阿里云·云小站

相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
目录
相关文章
|
18天前
阿里云服务器怎么开发票?图文教程来了
在阿里云,用户可在用户中心的发票管理中开具电子或纸质发票。首次开票需设置发票抬头,可选个人或企业,以及增值税普通或专用发票。个人账号无法直接开企业发票,需变更实名认证。发票税率因产品而异,通常为6%或13%。发票抬头可修改,纸质发票邮寄费用由阿里云承担(特殊情况除外)。电子发票同样可报销。更多详情见阿里云官方帮助中心。
|
5天前
|
存储 PHP 数据库
蓝易云 - WordPress建站教程:服务器目录指南
了解这些目录和文件的作用,可以帮助你更好地管理你的WordPress网站,以及解决可能出现的问题。但是,请注意,除非你清楚自己在做什么,否则不要随意修改这些目录和文件,因为这可能会导致你的网站出现问题。
10 0
|
13天前
|
存储 固态存储 异构计算
阿里云服务器租用一个月教程、收费标准与活动价格参考
阿里云服务器可以月租也可以年租,阿里云的活动中云服务器时长大多都是1年或3年,比较符合大多数用户的需求,但是也有少部分用户只想购买1个月或者3个月、6个月阿里云服务器来体验,但是又不知道选择月付的具体租用流程及月付的收费标准情况,本文为大家介绍一下租用时选择月付的具体流程以及月付的收费标准情况,以供参考。
阿里云服务器租用一个月教程、收费标准与活动价格参考
|
13天前
|
Java 开发者
JSP 教程 之 JSP 服务器响应 4
JSP教程讲解了如何使用HttpServletResponse对象响应客户端。示例代码展示了一个每5秒自动刷新并显示当前时间的页面。通过response对象设置HTTP响应头,包括刷新间隔(setIntHeader(&quot;Refresh&quot;, 5))和时间信息。当访问保存为main.jsp的这个页面时,浏览器会持续更新显示系统时间。
20 2
|
14天前
|
缓存 Java 开发者
JSP 教程 之 JSP 服务器响应 3
JSP教程讲解了HttpServletResponse类如何处理服务器响应。response对象用于创建HTTP信息头,支持添加cookie、设置HTTP状态码等。方法包括编码URL、检查响应头、添加响应头、发送错误或重定向、设置缓冲区大小及编码集等。通过这些方法,开发者能精细控制客户端的响应内容和行为。
23 4
|
14天前
|
存储 缓存 安全
JSP 教程 之 JSP 服务器响应 2
JSP的Response对象负责将处理结果返回给客户端,包括设置HTTP状态、发送数据如Cookie和HTTP头信息。常见的HTTP响应头如Allow指定支持的请求方法,Cache-Control控制缓存策略,Content-Type定义文档类型,Expires指示过期时间,Set-Cookie用于设置cookie。这些头信息在web编程中扮演重要角色。
23 4
|
14天前
|
Java 容器
JSP 教程 之 JSP 服务器响应 1
JSP教程聚焦服务器响应:Response对象负责将处理结果回传客户端,设置HTTP状态及发送数据,如Cookie和头部信息。示例响应包括HTTP状态行(如HTTP/1.1 200 OK)、Content-Type(如text/html)及其他头部,接着是HTML文档结构。
17 3
|
23小时前
|
弹性计算
阿里云ECS的使用心得
本文主要讲述了我是如何了解到ECS,使用ECS的一些经验,以及自己的感悟心得
|
1天前
|
弹性计算
阿里云ECS使用体验
在申请高校学生免费体验阿里云ECS云服务器后的一些使用体验和感受。
|
1天前
|
弹性计算
阿里云ECS的使用心得
本文主要讲述了我是如何了解到ECS,使用ECS的一些经验,以及自己的感悟心得