Node.js 应用程序的 Nginx 代理配置问题
Nginx proxy config problems for Node.js app
我几乎可以肯定这只是我的无知,并希望这是一个简单的修复,但基本上 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 与此不同,因为没有可用的站点文件夹。相反,我正在编辑 nginx.conf.default 文件,因为我在我这里有。)
基本上,我想要的是能够访问 mydomain.com 来加载内容,而不是 mydomain.com:3000.
在较新的 NginX 安装中,有一个名为 vhosts 的子文件夹。虚拟主机配置数据需要放在这个文件夹中。如果您使用 UI 添加域到 cPanel,它会自动创建一个虚拟主机文件。
这完全是发行版和软件包的问题,而不是 nginx 版本,I've explained this in a different answer before,主要且唯一重要的文件是 nginx.conf
,如果您检查该文件,您就会知道哪些文件夹很重要什么不,例如 debian 发行版在他们的配置中添加这一行
include /etc/nginx/sites-enabled/*;
以便自动包含 sites-enabled
文件夹中的所有文件,
Redhat 发行版仅使用此行
include /etc/nginx/conf.d/*.conf;
顺便说一下,它仍然包含在 debian 分布式配置中,
这意味着只考虑 /etc/nginx/conf.d
内的文件,并且它们必须以 .conf
结尾
只需检查您的 nginx.conf
并确保您的配置在包含的文件夹中,至于它自己的配置,它似乎应该工作正常。
我几乎可以肯定这只是我的无知,并希望这是一个简单的修复,但基本上 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 与此不同,因为没有可用的站点文件夹。相反,我正在编辑 nginx.conf.default 文件,因为我在我这里有。)
基本上,我想要的是能够访问 mydomain.com 来加载内容,而不是 mydomain.com:3000.
在较新的 NginX 安装中,有一个名为 vhosts 的子文件夹。虚拟主机配置数据需要放在这个文件夹中。如果您使用 UI 添加域到 cPanel,它会自动创建一个虚拟主机文件。
这完全是发行版和软件包的问题,而不是 nginx 版本,I've explained this in a different answer before,主要且唯一重要的文件是 nginx.conf
,如果您检查该文件,您就会知道哪些文件夹很重要什么不,例如 debian 发行版在他们的配置中添加这一行
include /etc/nginx/sites-enabled/*;
以便自动包含 sites-enabled
文件夹中的所有文件,
Redhat 发行版仅使用此行
include /etc/nginx/conf.d/*.conf;
顺便说一下,它仍然包含在 debian 分布式配置中,
这意味着只考虑 /etc/nginx/conf.d
内的文件,并且它们必须以 .conf
只需检查您的 nginx.conf
并确保您的配置在包含的文件夹中,至于它自己的配置,它似乎应该工作正常。