Node.js Dokku-安装后添加域
我在我的数字海洋水滴上安装了Dokku,但在设置dns记录之前安装了,所以Dokku安装在IP上。现在我更改了dns记录,所以可以通过Node.js Dokku-安装后添加域,node.js,dns,dokku,Node.js,Dns,Dokku,我在我的数字海洋水滴上安装了Dokku,但在设置dns记录之前安装了,所以Dokku安装在IP上。现在我更改了dns记录,所以可以通过site.com访问该站点。我可以通过site.com:port访问以前创建的Dokku容器,如何更改Dokku设置以访问我的应用程序,如下-appname.site.com每: 设置指向该主机的域和通配符域。确保 /home/dokku/VHOST已设置为此域。默认情况下,它设置为 不管主机的主机名是什么。仅当 主机名可以通过dig(dig+short$(hos
site.com
访问该站点。我可以通过site.com:port
访问以前创建的Dokku容器,如何更改Dokku设置以访问我的应用程序,如下-appname.site.com
每:
设置指向该主机的域和通配符域。确保
/home/dokku/VHOST已设置为此域。默认情况下,它设置为
不管主机的主机名是什么。仅当
主机名可以通过dig(dig+short$(hostname-f))解析。否则
您必须手动创建该文件并将其设置为首选文件
域名。如果在推送应用程序时此文件仍然不存在,
dokku将发布带有端口号的应用程序(即。
-请注意缺少的子域)
要解决此问题,您首先需要更新/home/dokku/VHOST文件,添加域名——这将修复任何新生成的部署,但需要按名称(/home/dokku/foo、/home/dokku/bar等)从/home/dokku目录中删除现有应用,并重新部署以使此更改生效,由于每个Dokku应用程序在这些/home/Dokku/路径中都有一个单独的nginx.conf,因此需要重新编写这些路径。$echo“example.com”>/home/Dokku/VHOST扩展:应用这些更改不需要重新创建(销毁并再次创建)应用程序。您可以在
/home/dokku/$APP/
目录中手动创建VHOST文件(作为dokku用户),然后删除NO_VHOST设置(dokku配置:取消设置$APP NO_VHOST
)并将dokku NGINX端口
更改为80(dokku配置:设置$APP dokku NGINX端口=80
)并重新启动应用程序(dokku ps:restart$APP
).确实没有必要销毁和重新创建应用程序。首先,dokku-domains:report
会告诉您是否已启用全局vhost。如果没有,就跑
dokku domains:add-global yourdomain.tld
echo yourdomain.tld | sudo tee -a /home/dokku/VHOST
dokku domains:add myapp myapp.yourdomain.tld
dokku domains:enable myapp
第一个选项将yourdomain.tld添加到/home/dokku/HOSTNAME。它还应该将它添加到/home/dokku/VHOST,但它没有。因此,这需要手动完成。然后告诉dokku您想要访问myapp的(子)域。最后一个命令将myapp的NO_VHOST变量设置为false。如果您仍然可以添加子域。这些是需要检查的要点 示例:添加
myapp.Example.com
1,域名系统(如namesheap)
如果您正在使用Cloudflare,请检查自定义DNS是否设置为Cloudflare
2,CDN(如Cloudflare)
检查它是否有这样的记录
Type | Name | Content
A | myapp | public ip address of Digital ocean server
3,VPS(如数字海洋)
如果您使用Cloudflare,则不必在Digital Ocean上设置域设置
4,Dokku
- 端口映射设置是否正确<代码>dokku代理:报告检查端口80 映射到容器的端口
- 服务器正在运行吗?从服务器内部使用
curl
/home/dokku/appname/nginx.conf
/etc/nginx/nginx.conf
示例/home/dokku/appname/nginx.conf
文件
server {
listen [::]:80;
listen 80;
server_name myapp.example.com;
location / {
proxy_pass http://myapp-3030;
}
upstream myapp-3030 {
server 172.17.0.4:3030;
}
尝试浏览此文件:
/home/dokku/VHOST
。确实可以使用重置初始dokku配置的方法来访问安装GUI。因为我离开了基于IP的域配置,所以没有VHOST文件,我也不知道它应该包含什么。/home/dokku/VHOST
文件包含服务器的“顶级”域。例如,如果您想要一个像app.dokku.me
这样的应用程序名,您的文件将包含dokku.me
。请注意,您可能需要重新链接容器(例如,如果您使用的是db插件)如果删除然后添加一个应用程序。正确编辑/home/dokku/foo/nginx.conf将保存该步骤删除这些应用程序可能会有些过火,请先尝试dokku ps:restart
或dokku ps:rebuild
。