使用Dokku在Digitalocean上部署多个nodeJS

时间:2015-01-11 19:29:12

标签: node.js nginx digital-ocean dokku

我尝试使用dokku Droplet在Digitalocean上部署两个nodeJS应用程序。我正在使用“虚拟主机命名”方案但是存在问题。

我的DNS配置如下所示:

enter image description here

我有主应用程序和管理员应用程序。我希望在访问app.example.com时查看管理员应用程序(我实际上有一个合适的域名),但是当我点击example.com和app.example.com时,我可以看到相同的应用程序。

nginx可能有问题,但我不确切知道什么是坏事?

1 个答案:

答案 0 :(得分:0)

我注意到的一件事是,首先安装的应用程序将是example.com转发的应用程序。

将此行为归因于Nginx是正确的。我认为这是因为当它没有检测到example.com的配置时它会以某种方式回到这个配置

这个dokku插件(https://github.com/progrium/dokku/tree/master/plugins/nginx-vhosts)负责每次部署时为每个应用程序重写nginx.conf。

现在它使用模板nginx.conf(https://github.com/progrium/dokku/blob/master/plugins/nginx-vhosts/templates/nginx.conf)虽然这是一个相当新的更改,所以请确保你在最近的版本。

您将得到一个如下所示的Nginx配置:

server {
  listen      [::]:80;
  listen      80;
  server_name app.example.com;
  return 301 https://$host$request_uri;
}

我目前不确定为什么上面的代码段会导致所描述的行为。解决方法是在/ etc / nginx / sites-enabled / with

中设置自己的nginx conf
server_name example.com;

但是指向一个暂停页面或任何适合你的页面。