zoukankan      html  css  js  c++  java
  • 用Nginx*Node.js

    安装pm2

    npm install pm2 -g
    
    ln -s /home/download/node-v8.11.1-linux-x64/lib/node_modules/pm2/bin/pm2 /usr/local/bin/pm2
    

    修改package.json

    "scripts": {
        "test": "echo "Error: no test specified" && exit 1",
        "pm2": "/home/download/node-v8.11.1-linux-x64/lib/node_modules/pm2/bin/pm2 start /web/mazey.cn/server/app.js"
    }
    
    or
    
    "scripts": {
        "test": "echo "Error: no test specified" && exit 1",
        "pm2": "pm2 start app.js"
    }
    

    启动pm2

    npm run pm2
    

    开机启动pm2

    pm2 save
    
    pm2 startup centos
    

    注意

    pm2 startup centos失败,可尝试pm2 startup

     PM2 detected systemv but you precised centos
     Please verify that your choice is indeed your init system
     If you arent sure, just run : pm2 startup
    

    修改Nginx配置

    vim /etc/nginx/conf.d/*.conf
    
    upstream nodejs {
        server 127.0.0.1:3000;
        keepalive 64;
    }
    server {
        listen 80;
        server_name domain.cn;
        root /web/mazey.cn;
        index index.html index.htm;
        # 网站切到/server下时走nodejs
        location /server {
            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;
        }
        location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$ {
            expires 30d;
        }
        location ~ .*.(js|css)?$ {
            expires 1h;
        }
    }
    
    

    相应的 app.js

    const express = require('express')
    const app = express()
    let hi = 'hi'
    
    app.get('/server', (req, res, next) => {
      hi = `Hello Mazey!
    `
      next()
    }, (req, res) => {
      res.send(`
      ${hi}
      ${req.method}
    
      ${req.originalUrl}
    
      ${req.query.id}
    
      `)
    })
    
    const server = app.listen(3000, function () {
      let host = server.address().address
      let port = server.address().port
    
      console.log('Example app listening at http://%s:%s', host, port)
    })
    

    注意

    若报错 Cannot GET /xxx 说明 Express 的路由没配好。

  • 相关阅读:
    三大高级排序
    三大初级排序算法
    MVC的JsonResult用法
    使用dynamic类型改进反射
    正则指引-括号(3)反向引用
    正则指引-括号(2)引用分组
    正则指引-括号(1)
    正则指引-量词demo
    正则指引-字符组demo
    ASP.NET MVC 分部视图
  • 原文地址:https://www.cnblogs.com/mazey/p/8983160.html
Copyright © 2011-2022 走看看