账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    关于前端`vue`站点发布的一些疑问?
    31
    0

    vue项目需要用到nodenginx发布,但是有一些问题还不是很明白,特来请教:

    需求:

    目前只有一台前端服务器,所以 nodenginx 都会安装到一起,并且后端api是按业务不同来发布的,所以我需要配置多个api服务器地址。

    已知条件

    • 域名 xxxx.com
    • ip 10.12.11.xx:80

    目录结构:

    • xxxUI ——根路径

      • package.json —— 服务器index.js依赖配置
      • index.js —— 基于node创建的web服务器代码
      • node-modules —— index.js 依赖的包文件夹
      • www —— 前端项目根文件夹

    node 创建服务器代码 index.js 代码如下:

    var express = require('express');
    var httpProxy = require('http-proxy');
    var app = express();
    
    var proxy  = httpProxy.createProxyServer({
        target: "10.12.11.xx:80/api",
        changeOrigin: true
    });
    
    //放置web站点的路径
    app.use(express.static('www'));
    
    app.use('/api', (req, res) => {
        proxy.web(req, res);
    });
    
    app.use('/', function(req, res) {
       res.sendFile(__dirname+'/www/index.html');   
    });
    
    proxy.on('error', function (err, req, res) {
        console.log("proxy error", err);
        res.writeHead(500, {'Content-Type' : 'text/plain'});
        res.end('err');
    });
    
    var server = app.listen(9988, (req, res) => {
    
    });
    

    疑问:

    1. 假设我不需要用nginx,那么node服务器可以监听80端口,那么访问xxxx.com的时候是可以正常访问的,但是如果我需要用到nginx,那么node(对应前端项目的服务器——通过httpProxy.createProxyServer创建的)一定不能用80端口,必须把80端口预留出来给nginx监听是吗?
    2. 我在通过node api创建前端项目服务器(index.js文件)的时候,只能创建一个api代理地址,该如何配置呢?是修改创建服务器node api代码还是修改nginx相关配置(因为不同模块对应api路径都是有区别的,例如:会员模块xxx.com/api/member/xxx、注册登录模块xxx.com/api/system/xxx)?该怎么配置呢?
    1
    打赏
    收藏
    点击回答
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部