Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用node.js应用程序配置nginx时出现的问题_Node.js_Linux_Nginx_Dns_Centos - Fatal编程技术网

使用node.js应用程序配置nginx时出现的问题

使用node.js应用程序配置nginx时出现的问题,node.js,linux,nginx,dns,centos,Node.js,Linux,Nginx,Dns,Centos,试图让nginx代理我的node.js应用程序并使用一个域。我将有许多域映射到服务器,因此我将为每个服务器块使用单独的.conf文件。我现在遇到的问题是,我似乎只能在进入域时显示默认的nginx页面。我会尽可能清楚地解释当前的设置,如果您需要更多信息,请告诉我 nginx.conf更改 我将根路径设置为我的应用程序文件所在的位置,root/var/www

试图让nginx代理我的node.js应用程序并使用一个域。我将有许多域映射到服务器,因此我将为每个服务器块使用单独的
.conf
文件。我现在遇到的问题是,我似乎只能在进入域时显示默认的nginx页面。我会尽可能清楚地解释当前的设置,如果您需要更多信息,请告诉我

nginx.conf更改

我将根路径设置为我的应用程序文件所在的位置,
root/var/www/var/www/example.com

服务器块配置

我为服务器块
/etc/nginx/conf.d/example_com.conf
创建了一个新文件,其中包含

server
{
listen 80;
listen [::]:80;
server_name example.com www.example.com;

location /var/www
{
    proxy_pass http://localhost:3103;
    include /etc/nginx/proxy_params;
}
}
请注意,转到“我的”将按应有的方式呈现应用程序,文件
/etc/nginx/proxy_params
包含

proxy_buffers 16 32k;
    proxy_buffer_size 64k;
    proxy_busy_buffers_size 128k;
    proxy_cache_bypass $http_pragma $http_authorization;
    proxy_connect_timeout 59s;
    proxy_hide_header X-Powered-By;
    proxy_http_version 1.1;
    proxy_ignore_headers Cache-Control Expires;
    proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504 http_404;
    proxy_no_cache $http_pragma $http_authorization;
    proxy_pass_header Set-Cookie;
    proxy_read_timeout 600;
    proxy_redirect off;
    proxy_send_timeout 600;
    proxy_temp_file_write_size 64k;
    proxy_set_header Accept-Encoding '';
    proxy_set_header Cookie $http_cookie;
    proxy_set_header Host $host;
    proxy_set_header Proxy '';
    proxy_set_header Referer $http_referer;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Server $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Original-Request $request_uri;

这里有什么我做错的吗?你需要更多的信息吗?请让我知道!nginx对我来说是非常新的,我觉得我非常接近,我只是理解了一些东西。谢谢

您的配置提供如下请求处理:

location /
  {
     proxy_pass http://localhost:3103;
     include /etc/nginx/proxy_params;
  }
  • 对*]的请求将通过代理传递给 你的应用程序
  • 所有其他请求将像静态/直接请求一样进行处理 默认nginx目录中的请求
如果您没有静态文件,并且所有请求都必须通过应用程序处理,那么您应该按照以下方式修复配置:

location /
  {
     proxy_pass http://localhost:3103;
     include /etc/nginx/proxy_params;
  }
如果您有可以由nginx提供服务的静态文件,那么您应该像或一样使配置复杂化


了解nginx工作原理的文档

Stack Overflow是一个关于编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参见帮助中心中的。也许或者会是一个更好的提问的地方。