zoukankan      html  css  js  c++  java
  • [Node] Setup an Nginx Proxy for a Node.js App

    Learn how to setup an Nginx proxy server that sits in front of a Node.js app. You can use a proxy to control the flow of frontend requests hitting your app, as well as to achieve better performance and scalability. We'll create a sample Node.js app and configure a default Nginx configuration file to proxy web requests.

    Create a node app:

    // Load the http module to create an http server.
    var http = require('http');
    
    // Configure our HTTP server to respond with Hello World to all requests.
    var server = http.createServer(function (request, response) {
      response.writeHead(200, {"Content-Type": "text/plain"});
      response.end("Welcome to Node.js!
    ");
    });
    
    // Listen on port 3000, IP defaults to 127.0.0.1
    server.listen(3000);
    
    // Put a friendly message on the terminal
    console.log("Server running at http://127.0.0.1:3000/");

    The app running on port 3000.

    Run the node app:

    node index.js

    See the output:

    curl localhost:3000

    We will see:

    Welcome to Node.js!

    Now, start the nginx:

    service nginx start

    Varifiy nginx started:

    curl localhost // by default nginx running on port 80

    We will see the default nginx html.

    Modify the nginx config in '/etc/nginx/sites/enabled/default':

    server {
        location / {
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_pass http://localhost:3000;
        }
    }

    Restart nginx:

    service nginx reload

    now do:

    curl localhsot

    Previously we saw the default nginx page, now we should see our node app's output. That means our nginx poxy works, it successfully redirect localhost:80 to localhost:3000.

  • 相关阅读:
    codeforces 814B An express train to reveries
    codeforces 814A An abandoned sentiment from past
    codeforces 785D D. Anton and School
    codeforces 785C Anton and Fairy Tale
    codeforces 791C Bear and Different Names
    AOP详解
    Spring集成JUnit测试
    Spring整合web开发
    IOC装配Bean(注解方式)
    IOC装配Bean(XML方式)
  • 原文地址:https://www.cnblogs.com/Answer1215/p/7218426.html
Copyright © 2011-2022 走看看