nginx 反向代理配置多站点

nginx 文件结构

端口服务

linx 系统centos7.4 nginx1.9.9

nginx文件夹下的nginx.conf文件为nginx入口配置文件,
该文件下每个server指令都可以设置一个端口, 当我们有多个网站时,可以创建多个server指令,
通过server指令的proxy_pass http://127.0.0.1:3000来实现请求的分发,
同样这种请求的分发可以用来减轻服务器压力的作用

node + nginx 项目

server {
    listen 80;
    server_name example.com;
    location / {
        proxy_pass https://127.0.0.1:3000;
    }
}

'use strict'
const express = require('express'),
    app = express()

app.use(express.static('dist'))
app.use(bodyParser())

app.use(require('./routes/user'))

app.listen(3000,'127.0.0.1', () => console.log('正在运行'))

静态服务

如果你的网站只是一个静态文件,则可以使用如下配置:

server {
    listen 80;
    server_name example.com;
     location / { "/" 可以替换为 路径+正则  实现匹配分发
        root 项目文件目录(绝对路径)  //默认为nginx文件夹下的html文件夹
        index index.html index.htm index.php; //网站匹配规则
    }
}

在我做node项目的时候,考虑到多站点nginx如何实现,在linux服务器上测试一天多,各种改nginx配置文件信息,都不起作用,当时就有疑惑我的项目是node express 项目本身提供静态中间件,可是我又在server中添加root绝对路径指向,就有了一直不显示的问题。

posted @ 2017-12-27 20:08  前端工程家  阅读(3919)  评论(0编辑  收藏  举报