我试图为Metabase 创建一个 Ubuntu Upstart 服务,但我无法解决以下几点:
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 步指南可确保您的元数据库使用 systemd ( https://en.wikipedia.org/wiki/Systemd ) 在 Ubuntu 中作为服务运行。
1)metabase.service在以下文件夹中创建文件/usr/lib/systemd/system/(您可能需要创建系统文件夹)
[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 上设置元数据库的教程,有关该过程的更详细描述,我建议您看一下。鉴于您提供的信息,我会尽力帮助您。
第一步:服务配置文件
有两种方法可以将 Java 应用程序设置为服务;但是,我将探讨元数据库文档中提到的那个。对于他们推荐的方法,您需要设置两个配置文件:
您可以根据提供的元数据库文档设置这些文件。注意:我需要对 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
请注意,元数据库必须有权写入日志文件,否则您将尝试盲目部署。
我要检查的其他事项:
99.99.999.99:3306允许您尝试进行的连接(http、https 或 ssh)。sudo service metabase start我希望这会有所帮助,如果您想了解有关任何步骤的更多详细信息,请查看: https ://codymyers93.wordpress.com/2018/05/07/metabase-on-ubuntu-with-flask-integration/
如有任何问题,请随时给我留言。