用Nginx反向代理Node.js的方法

 更新时间:2018年05月03日 08:30:57   作者:后除  
本篇文章主要介绍了用Nginx反向代理Node.js的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

本文介绍了用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!\n`
 next()
}, (req, res) => {
 res.send(`
 ${hi}
 ${req.method}\n
 ${req.originalUrl}\n
 ${req.query.id}\n
 `)
})

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 的路由没配好。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 小白也可以完成的0基础部署Nginx服务

    小白也可以完成的0基础部署Nginx服务

    这篇文章主要为大家介绍了0基础部署Nginx服务的实现方式,非常简单详细零基础小白跟着做也可以完成,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-03-03
  • 使用nginx同域名下部署多个vue项目并使用反向代理的方法

    使用nginx同域名下部署多个vue项目并使用反向代理的方法

    这篇文章主要介绍了使用nginx同域名下部署多个vue项目并使用反向代理的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02
  • Nginx实现https网站配置代码实例

    Nginx实现https网站配置代码实例

    这篇文章主要介绍了Nginx实现https网站配置代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • nginx几种网页重定向(rewirte)的配置方法详解

    nginx几种网页重定向(rewirte)的配置方法详解

    这篇文章主要详细介绍了nginx几种网页重定向(rewirte)的配置方法,文中通过代码示例和图文介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-02-02
  • win10系统安装Nginx的详细步骤

    win10系统安装Nginx的详细步骤

    Nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器,同时也提供了IMAP/POP3/SMTP服务,这篇文章主要介绍了win10系统安装Nginx的详细步骤,需要的朋友可以参考下
    2023-02-02
  • Nginx设置HTTPS的方法步骤

    Nginx设置HTTPS的方法步骤

    本文主要介绍了NGINX设置HTTPS的方法步骤,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • 使用Nginx服务器如何实现动静分离和反向代理

    使用Nginx服务器如何实现动静分离和反向代理

    这篇文章主要介绍了使用Nginx服务器如何实现动静分离和反向代理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • 分布式架构中关于正向代理反向代理面试提问

    分布式架构中关于正向代理反向代理面试提问

    这篇文章主要为大家介绍了分布式架构中关于正向代理反向代理的面试提问,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-03-03
  • CentOS系统rpm安装Nginx和配置

    CentOS系统rpm安装Nginx和配置

    大家好,本篇文章主要讲的是CentOS系统rpm安装Nginx和配置,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • 详解 Nginx代理功能与负载均衡

    详解 Nginx代理功能与负载均衡

    本篇文章主要介绍了详解 Nginx代理功能与负载均衡,先描述一些关于代理功能的配置,再说明负载均衡详细,有兴趣的可以了解一下。
    2017-02-02

最新评论