Nginx代理配置Node.js应用程序的问题

时间:2015-01-10 21:51:24

标签: node.js nginx proxy

我几乎可以肯定这只是我的无知,并期待这是一个简单的解决方案,但基本上mydomain.com:3000提供正确的内容,但mydomain.com没有。这是我的nginx.conf.default文件:

upstream mydomain {
    server 127.0.0.1:3000;
    keepalive 8;
}

server {
    listen       0.0.0.0:80;
    server_name  mydomain.com www.mydomain.com;

    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-NginX-Proxy true;

        proxy_pass http://mydomain/;
        proxy_redirect off;
    }
}

我一直关注这篇文章,但无法弄清楚我的错误在哪里: http://dailyjs.com/2010/03/15/hosting-nodejs-apps/

(注意:我相信我的nginx安装与此不同,因为没有sites-available文件夹。相反,我正在编辑nginx.conf.default文件,因为我看到了localhost服务器上面的行我来的地方。)

基本上,我想要的是能够访问mydomain.com来加载内容,而不是mydomain.com:3000

2 个答案:

答案 0 :(得分:0)

随着NginX的新安装,有一个名为vhosts的子文件夹。虚拟主机配置数据需要进入此文件夹。如果使用UI将域添加到cPanel,则会自动创建vhost文件。

答案 1 :(得分:0)

这是发行版和包的问题而不是nginx版本,I've explained this in a different answer before,主要和唯一重要的文件是nginx.conf,如果你检查该文件,你会知道哪些文件夹很重要以及什么不要,例如debian发行版在他们的配置中添加这一行

include /etc/nginx/sites-enabled/*;

因此,auto包含sites-enabled文件夹中的所有文件,
Redhat发行版仅使用此行

include /etc/nginx/conf.d/*.conf;

这是btw还包含在debian分布式配置中,
这意味着只考虑/etc/nginx/conf.d中的文件,并且它们必须以.conf

结尾

只需检查您的nginx.conf并确保您的配置位于包含的文件夹中,就像配置一样,它似乎应该正常工作。