使用nginx配置nodejs服务进行反向代理

Table of Contents

    使用nginx配置nodejs服务进行反向代理 域名备案完成之后就可以使用自己的域名访问nodejs做的网站了。
    我们使用nginx来配置这个反向代理,nginx安装完成之后,配置文件一般在这些目录中/usr/local/nginx/conf, /etc/nginx, or /usr/local/etc/nginx.

    • 我的nginx配置文件在/etc/nginx目录下,打开nginx.conf,在http下增加:

      upstream nodejs {
        server 127.0.0.1:3000; #你所在服务器中nodejs程序监听的端口
        keepalive 64;
      }
      
    • http配置中有个include /etc/nginx/sites-enabled/*;打开sites-enabled下面的default文件,在server下配置:

      listen 80 default_server;
      listen [::]:80 default_server;
      
      server_name www.sanjiadian.net sanjiadian.net;
      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_set_header Connection "";
        proxy_pass http://nodejs;
      }
      
      
    • 最后nginx -s reload就可以了

    nginx -s reload出现错误提示:nginx: [emerg] a duplicate listen 0.0.0.0:80 in /etc/nginx/sites-enabled/#default#:19。 解决方法是删除sites-enabled目录下的另外一个临时文件#default#