九游平台/ 弹性云服务器 ecs/ / / 手工搭建ghost博客(ubuntu 20.04)
更新时间:2025-01-26 gmt 08:00

手工搭建ghost博客(ubuntu 20.04)-九游平台

ghost是基于node.js的开源博客平台,可以为用户提供更加便捷的写作与发布平台,本文指导用户基于华为云弹性云服务器(以ubuntu 20.04操作系统云服务器为例)部署ghost博客。

创建新用户

由于ghost官方不推荐使用root用户直接操作,因此需要重新创新的用户,并为其配置权限。

  1. 执行以下命令,创建新用户。本文以user为例。

    adduser user

    回显信息如下:

    adding user `user' ...
    adding new group `user' (1000) ...
    adding new user `user' (1000) with group `user' ...
    creating home directory `/home/user' ...
    copying files from `/etc/skel' ...
    new password:
    retype new password:
    passwd: password updated successfully
    changing the user information for user
    enter the new value, or press enter for the default
            full name []:
            room number []:
            work phone []:
            home phone []:
            other []:
    is the information correct? [y/n] y
    1. new password:retype new password:提示信息中,请按照提示输入并确认用户密码,密码默认不显示,输入完成后按enter。
    2. enter the new value, or press enter for the default提示信息中,按enter保持默认即可,您也可以根据实际情况填写用户相关信息。
    3. is the information correct? [y/n]提示信息中,输入y确认信息,并按enter,完成设置。
  2. 执行以下命令,将新创建的用户添加到组。

    usermod -ag sudo user

  3. 执行以下命令,切换到user用户。

    su - user

安装nginx

部署ghost博客,需要安装nginx作为http服务器,本节以安装nginx 1.18.0 版本为例。

  1. 执行以下命令,更新linux操作系统和软件包。

    sudo apt-get update

    sudo apt-get upgrade -y

  2. 执行以下命令,安装nginx。

    sudo apt-get install -y nginx

  3. 执行以下命令查看nginx版本。

    nginx -v

    回显信息如下:

    nginx version: nginx/1.18.0 (ubuntu)
  4. 调整防火墙(可选)。

    ufw(uncomplicated firewall)是一个iptables的接口,可以简化配置防火墙的过程。ubuntu默认安装了ufw,执行以下命令查看防火墙的状态。

    sudo ufw status

    如果你没有也不想开启防火墙,则可以直接跳过此步骤,如果你想要开启防火墙可以通过以下命令实现。

    sudo ufw enable

    之后再次检查防火墙状态验证是否成功开启防火墙。

    在测试nginx之前,需要重新配置防火墙软件以允许访问nginx。执行以下命令,将nginx自动注册在ufw。

    sudo ufw app list

    回显信息:

    available applications:
      nginx full
      nginx http
      nginx https
      ...
    • nginx full:此配置文件打开端口 80(正常,未加密的web流量)和端口443(tls / ssl加密流量)
    • nginx http:此配置文件仅打开端口 80(正常,未加密的web流量)
    • nginx https:此配置文件仅打开端口 443(tls / ssl加密流量)

    执行以下命令确保防火墙允许http和https连接。

    sudo ufw allow 'nginx full'

  5. 验证nginx是否正常工作。

    在浏览器中通过域名或者ip地址进行访问nginx,如果nginx正常启动则会打开welcome to nginx的欢迎页面。

    使用浏览器访问 “http://云服务器ip地址”,显示如下页面,说明nginx安装成功。

安装mysql

mysql是一种开源数据库管理系统,通常作为流行的lamp(linux,apache,mysql,php / python / perl)堆栈的一部分安装。它使用关系数据库和sql结构化查询语言)来管理其数据。

  1. 执行以下命令,安装mysql。

    sudo apt-get install -y mysql-server

  2. 执行以下命令查看mysql版本。

    mysql -v

    回显信息如下:

    mysql  ver 8.0.37-0ubuntu0.20.04.3 for linux on x86_64 ((ubuntu))
  3. 执行以下命令,连接mysql。

    sudo mysql

  4. 执行以下命令,创建ghost使用的数据库。本文以ghost_data为例。

    create database ghost_data;

  5. 执行以下命令,设置root账户密码。

    alter user 'root'@'localhost' identified with mysql_native_password by 'xxxxx';

    其中'xxxxx'为待设置的密码。

  6. 执行以下命令,重新加载mysql的授权表,确保数据库权限的更改生效。

    flush privileges;

  7. 执行以下命令,退出mysql。

    exit

安装node.js

  1. 执行以下命令,安装。

    sudo curl -sl https://deb.nodesource.com/setup_18.x | sudo -e bash -

    sudo apt-get install -y nodejs

  2. 安装完成后,执行以下命令查看node.js版本和npm版本。

    node -v

    npm -v

    回显信息:

    root@ecs-c47c:~# node -v
    v18.20.3
    root@ecs-c47c:~# npm -v
    10.7.0

ghost 安装与配置

ghost v1.0.0 及以上版本已加入了ghost-cli,因此可以直接安装配置ghost-cli。

  1. 执行以下命令,安装ghost-cli。

    sudo npm install ghost-cli@latest -g

  2. 创建一个文件夹,之前介绍过nginx的重要文件结构 /var/www/ 就是将要创建文件夹的地方。

    sudo mkdir -p /var/www/ghost

    ghost在/root文件夹中安装ghost将无法正常工作。

  3. 配置权限。

    sudo chown user:user /var/www/ghost

    sudo chmod 775 /var/www/ghost

    user是1创建的用户。

  4. 进入刚才创建的文件夹。

    cd /var/www/ghost

  5. 执行以下命令,用ghost-cli安装ghost。
    ghost install

    如果ghost安装时提示node版本不匹配,可以在nodejs官方网站查询相应的版本重新安装。

  6. 配置ghost。

    如果上面在 /var/www/ghost/ 目录下运行ghost install成功的话,会要求配置相关参数:

    • enter your blog url:输入已解析的域名,例如:http://example.com。
    • enter your mysql hostname:输入数据库连接地址。本示例中mysql数据库与ghost部署在同一台实例中,直接按enter保持默认即可。
    • enter your mysql username:输入数据库用户名,输入root后按enter。
    • enter your mysql password :输入数据库密码,输入5中设置的数据库密码后按enter。
    • enter your ghost database name:输入ghost使用的数据库名称。输入ghost_data后按enter。

    如果配置后需要修改可以通过以下命令去文件中进行配置:

    vi config.production.json

    打开之后就是生产环境配置内容了。参考配置见下图:

验证ghost搭建完成

如果成功的安装ghost之后,就可以通过域名访问到ghost博客。

相关文档

网站地图