在 Ubuntu 服务上使用配置数据库

Use Metabase on Ubuntu Service

我尝试创建一个 Ubuntu Upstart Service to Metabase,但我在解决以下问题时遇到了问题:

1)设置数据库环境变量(端口、ip、密码):

MB_DB_TYPE=mysql
MB_DB_DBNAME=metabase
MB_DB_PORT=3306
MB_DB_USER=root
MB_DB_PASS=root
MB_DB_HOST=99.99.999.99

2) 失败重启服务

3) 开机启动

4) 执行元数据库.jar 程序

`java -jar metabase.jar`

有一个 3 步指南可确保您的 Metabase 运行 作为 Ubuntu 中的一项服务使用 systemd (https://en.wikipedia.org/wiki/Systemd)。

1) 在以下文件夹 /usr/lib/systemd/system/ 中创建文件 metabase.service(您可能需要创建系统文件夹)

[Unit]
Description=Metabase server

[Service]
User=<deploy user>
Restart=on-failure
Environment=MB_DB_TYPE=postgres
Environment=MB_DB_DBNAME=metabase
Environment=MB_DB_PORT=5432
Environment=MB_DB_USER=<db_user>
Environment=MB_DB_PASS=<db_password>
Environment=MB_DB_HOST=<host>
ExecStart=/usr/bin/java -jar /path/to/metabase.jar

[Install]
WantedBy=multi-user.target

2) 启用配置数据库服务

sudo systemctl enable metabase.service

3) 启动服务(您的元数据库服务将在端口 3000 可用)

sudo systemctl start metabase.service

检查服务是否 运行 试试: sudo systemctl status metabase.service

我最近写了一篇关于如何在 Ubuntu 上设置配置数据库的文章 tutorial,为了更详细地描述该过程,我建议您看一看。鉴于你提供的信息,我会尽力帮助你。

第一步:服务配置文件

有两种方法可以将 java 应用程序设置为服务;但是,我将探讨元数据库 documentation 中提到的那个。对于他们推荐的方法,您需要设置两个配置文件:

  1. /etc/init.d/metabase
  2. /etc/default/metabase

您可以根据提供的元数据库文档设置这些文件。注意:我需要对 init.d 进行一些更改,以便在服务执行之前导入配置变量 java -jar,如果您有兴趣,可以在我上面的博客中找到更多详细信息。

第二步:设置代理

之后,您将需要设置一个代理,以便服务器知道如何将流量重定向到端口 3000,以便元数据库可以被激活。 (同样,可以在我的博客中找到有关如何执行此操作的说明。)

第三步:将元数据库设置为服务

chmod +x /etc/init.d/metabase
touch /var/log/metabase
chown metabase_user:<group> /var/log/metabase.log
update-rc.d metabase defaults

请注意元数据库具有写入日志文件的权限很重要,否则您将尝试盲目部署。

我要检查的其他事项:

  1. 确保您在 99.99.999.99:3306 上使用的端口允许您尝试进行的连接(http、https 或 ssh)。
  2. 确保 www-data/metabase_user 有权执行 metabase.jar 文件。否则,当您 sudo service metabase start
  3. 时,该服务将无法启动配置数据库

希望这对您有所帮助,如果您想了解有关任何步骤的更多详细信息,请查看:https://codymyers93.wordpress.com/2018/05/07/metabase-on-ubuntu-with-flask-integration/

如有任何问题,请随时给我发消息。