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

gre*_*ide 5 ruby-on-rails nginx digital-ocean dokku

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

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

当我尝试运行时:

dokku domains:add myapp mydomain.com
Run Code Online (Sandbox Code Playgroud)

我收到以下错误

=====> 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
Run Code Online (Sandbox Code Playgroud)

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

dokku domains myapp
Run Code Online (Sandbox Code Playgroud)

我收到这条消息.

=====> 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
Run Code Online (Sandbox Code Playgroud)

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

我无法弄清楚我在哪里搞砸了.

任何帮助都是适当的.

jam*_*air 6

如果您没有在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
Run Code Online (Sandbox Code Playgroud)

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

注意:删除应用程序的目录/home/dokku/myapp和重新部署也会产生相同的效果,但需要重新链接其他容器,例如数据库插件.

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

=====> myapp Domain Names
myapp.mydomain.com
Run Code Online (Sandbox Code Playgroud)

您现在应该能够使用dokku domains命令成功删除和添加应用程序的域

请参阅此答案以供参考