Dokku域:添加<app> <domain>返回找不到支持的vhost配置。禁用vhost支持

时间:2015-07-22 19:36:02

标签: ruby-on-rails nginx digital-ocean dokku

这是我的第一个网站我曾试图使用Dokku在Digital Ocean上部署rails应用程序。

这是在Digital Ocean上托管的基本Ubuntu VM上的默认Dokku install

当我尝试跑步时:

dokku domains:add myapp mydomain.com

我收到以下错误

=====> unsupported vhost config found. disabling vhost support
=====> config:set-norestart is deprecated as of v0.3.22
-----> Setting config vars
       NO_VHOST: 1
-----> VHOST support disabled, deleting four-heroes/VHOST
-----> Added mydomain.com to myapp

最后一行看起来尽管有错误但可能有效。但是,当我跑:

dokku domains myapp

我收到此消息。

=====> unsupported vhost config found. disabling vhost support
=====> config:set-norestart is deprecated as of v0.3.22
-----> Setting config vars
       NO_VHOST: 1
=====> myapp Domain Names
cat: /home/dokku/myapp/VHOST: No such file or directory

除Postgresql插件外,这是默认的Dokku安装。该应用程序运行良好,我能够通过ip.ad.dr.ess:端口组合访问它,并且我能够SSH到域(ssh root@mydomain.com)。

我无法弄清楚我在这里搞砸了。

任何帮助都是适当的。

1 个答案:

答案 0 :(得分:6)

如果您未在初始setup of dokku上填写HOSTNAME选项,那么您将遇到当前问题。尚未创建VHOST文件导致当前错误。

要解决此问题,我们必须创建缺少的VHOST文件并填充您的域名。首先SSH进入您的Droplet并运行以下内容(根据您的权限,您可能需要sudo来创建和编辑VHOST文件)

cd /home/dokku
touch VHOST
chmod 0755 VHOST
# Use your editor of choice nano, vim etc. 
# to add your hostname to VHOST file, eg. mydomain.com

现在,对于每个应用,我们都需要触发重建nginx.conf文件。为此,请为每个应用运行dokku nginx:build-config myapp

注意:从/home/dokku/myapp删除应用的目录并重新部署也会产生相同的效果,但需要您重新链接其他容器,例如db plugins。

如果一切顺利,dokku domains myapp现在应该在你的终端输出

=====> myapp Domain Names
myapp.mydomain.com

您现在应该可以使用dokku domains命令

成功删除和添加应用的域名

请参阅this answer also for reference