如何在 Ubuntu 22.04 上安装 PgHero

如何在 Ubuntu 22.04 上安装 PgHero

PgHero 是一个基于 Web 的开源工具,旨在通过 Web 浏览器监控 PostgreSQL。 它可以帮助不熟悉命令行的用户。 它提供了一个简单且用户友好的控制面板来监控 PostgreSQL 并显示系统指标,例如资源使用情况、运行状况检查等。它提供了易于解释的概述 – 绿色表示良好,而不是绿色,您应该注意等. PgHero 提供了数据库的快速总体状态、正在运行的查询、表索引和表空间的视图,并且可以为您提供一种获取查询说明的方法,而无需跳转到 psql 控制台。

这篇文章将向您展示如何在 Ubuntu 22.04 上安装 PgHero PostgreSQL 监控软件。

先决条件

  • 运行 Ubuntu 22.04 的服务器。
  • 有效域名指向您的服务器 IP。
  • 服务器上配置了 root 密码。

入门

在开始之前,使用以下命令将所有系统软件包更新并升级到最新版本:

apt update -y
apt upgrade -y

更新所有软件包后,您可以使用以下命令安装其他所需的依赖项:

apt-get install wget curl gnupg2 -y

完成后,您可以继续下一步。

安装 PostgreSQL 服务器

在撰写本教程时,PostgreSQL 的最新版本是 14。您可以使用以下命令安装它:

apt-get install postgresql-14 -y

安装成功后,可以使用以下命令启动并启用PostgreSQL服务:

systemctl start postgresql
systemctl enable postgresql

要检查 PostgreSQL 的状态,请运行以下命令:

systemctl status postgresql

您将得到以下输出:

? postgresql.service - PostgreSQL RDBMS
     Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
     Active: active (exited) since Mon 2022-11-28 16:29:36 UTC; 17s ago
    Process: 20245 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
   Main PID: 20245 (code=exited, status=0/SUCCESS)

Nov 28 16:29:36 ubuntu22041 systemd[1]: Starting PostgreSQL RDBMS...
Nov 28 16:29:36 ubuntu22041 systemd[1]: Finished PostgreSQL RDBMS.

至此,PostgreSQL服务已安装并运行。 您现在可以继续下一步。

创建 PostgreSQL 数据库和用户

接下来,您需要创建 PostgreSQL 数据库和用户。 首先,使用以下命令连接到 PostgreSQL 控制台:

su - postgres

接下来,使用以下命令创建一个名为 pghero 的用户:

createuser pghero

接下来,使用以下命令连接到 PostgreSQL shell:

psql

接下来,为 pghero 用户设置密码:

ALTER USER pghero WITH ENCRYPTED password 'password';

下一个。 使用以下命令创建名为 pgdb 的数据库:

CREATE DATABASE pgdb OWNER pghero;

接下来,使用以下命令向 pgdb 授予所有权限:

GRANT ALL PRIVILEGES ON DATABASE pgdb to pghero;

接下来,使用以下命令退出 PostgreSQL shell:

\q
exit

安装和配置 PgHero

默认情况下,PgHero 软件包不包含在 Ubuntu 默认存储库中。 因此,您需要将 PgHero 存储库添加到您的服务器。

首先,使用以下命令下载并导入 GPG 密钥:

wget -qO- https://dl.packager.io/srv/pghero/pghero/key | apt-key add -

接下来,使用以下命令将 PgHero 存储库添加到 APT:

wget -O /etc/apt/sources.list.d/pghero.list https://dl.packager.io/srv/pghero/pghero/master/installer/ubuntu/$(. /etc/os-release && echo $VERSION_ID).repo

接下来,使用以下命令更新存储库缓存并安装 PgHero:

apt-get update -y
apt-get install pghero -y

安装 PgHero 后,您需要为 PgHero 定义 PostgreSQL 数据库。 您可以使用以下命令定义它:

pghero config:set DATABASE_URL=postgres://pghero:password@localhost:5432/pgdb

接下来,使用以下命令设置 PgHero Web 服务器:

pghero config:set PORT=3001
pghero config:set AILS_LOG_TO_STDOUT=disabled
pghero scale web=1

您将得到以下输出:

Created symlink /etc/systemd/system/multi-user.target.wants/pghero.service → /etc/systemd/system/pghero.service.
Created symlink /etc/systemd/system/pghero.service.wants/pghero-web.service → /etc/systemd/system/pghero-web.service.
Scaling up...
Created symlink /etc/systemd/system/pghero-web.service.wants/pghero-web-1.service → /etc/systemd/system/pghero-web-1.service.
--> done.

现在,使用以下命令启动 PgHero 服务:

systemctl start pghero

您可以使用以下命令检查 PgHero 的状态:

systemctl status pghero

您将得到以下输出:

? pghero.service
     Loaded: loaded (/etc/systemd/system/pghero.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2022-11-28 16:33:23 UTC; 19s ago
   Main PID: 21242 (sleep)
      Tasks: 1 (limit: 464122)
     Memory: 176.0K
     CGroup: /system.slice/pghero.service
             ??21242 /bin/sleep infinity

Nov 28 16:33:23 ubuntu22041 systemd[1]: Started pghero.service.

PgHero 现在正在运行并侦听端口 3001。您可以使用以下命令进行检查:

ss -antpl | grep 3001

您应该看到以下输出:

LISTEN 0      1024         0.0.0.0:3001      0.0.0.0:*    users:(("ruby",pid=21278,fd=5),("ruby",pid=21277,fd=5),("ruby",pid=21276,fd=5),("ruby",pid=21245,fd=5))

至此,PgHero 已安装并配置完毕。 您现在可以继续下一步。

将 Nginx 配置为 PgHero 的反向代理

安装并配置 Nginx 作为 PgHero 的反向代理是一个好主意。 首先,使用以下命令安装 Nginx Web 服务器:

apt-get install nginx -y

安装 Nginx 后,使用以下命令创建 Nginx 配置文件:

nano /etc/nginx/conf.d/pghero.conf

添加以下行:

server {
    listen 80;
    server_name pghero.example.com;

    location / {
        proxy_pass http://localhost:3001;
    }
}

保存并关闭文件,然后验证 Nginx 是否存在任何语法错误:

nginx -t

您将得到以下输出:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

接下来,重新启动 Nginx 服务以应用更改:

systemctl restart nginx

您现在可以使用以下命令检查 Nginx 的状态:

systemctl status nginx

您将得到以下输出:

? nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2022-11-28 16:36:27 UTC; 7s ago
       Docs: man:nginx(8)
    Process: 21878 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 21879 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 21880 (nginx)
      Tasks: 3 (limit: 464122)
     Memory: 3.4M
     CGroup: /system.slice/nginx.service
             ??21880 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
             ??21881 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
             ??21882 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""

Nov 28 16:36:27 ubuntu22041 systemd[1]: Starting A high performance web server and a reverse proxy server...
Nov 28 16:36:27 ubuntu22041 systemd[1]: Started A high performance web server and a reverse proxy server.

访问 PgHero 仪表板

现在,打开 Web 浏览器并使用 URL http://pghero.example.com 访问 PgHero Web 界面。 您应该在以下屏幕上看到 PgHero 仪表板:

单击左侧窗格中的空间,您应该在以下屏幕上看到 PostgreSQL 数据库大小:

单击“连接”。 您应该在以下屏幕上看到所有 PostgreSQL 连接请求:

单击“曲调”。 您应该在以下屏幕上看到所有默认设置:

结论

恭喜 您已在 Ubuntu 22.04 服务器上成功安装 PgHero。 您现在可以在生产环境中部署 PgHero,以便通过 Web 浏览器轻松管理和监控 PostgreSQL 数据库。 如果您有任何疑问,请随时问我。

资讯来源:由0x资讯编译自HOWTOFORGE,版权归作者所有,未经许可,不得转载
你可能还喜欢