NodeJS + ExpressJS - 如何将我的域名指向端口3000?

时间:2016-09-28 09:12:03

标签: node.js linux express

在我的实时服务器中,我的expressjs应用程序在

运行
http://122.22.11.22:3000

但我如何使用域名子域名代替?对于实例:

http://my-express.com

http://exress.mymastersite.com

我使用快速生成器来创建我的快速骨架顺便说一句。我在Linux Arch。

有什么想法吗?

在bin / www中我默认情况下会自动生成以下代码:

#!/usr/bin/env node

/**
 * Module dependencies.
 */

var app = require('../app');
var debug = require('debug')('mongoose-iot:server');
var http = require('http');

/**
 * Get port from environment and store in Express.
 */

var port = normalizePort(process.env.PORT || '3000');
app.set('port', port);

/**
 * Create HTTP server.
 */

var server = http.createServer(app);

/**
 * Listen on provided port, on all network interfaces.
 */

server.listen(port);
server.on('error', onError);
server.on('listening', onListening);

....
....
....

1 个答案:

答案 0 :(得分:1)

您想要做的是虚拟主机, 您可以使用nginx来执行此操作

只在localhost上进行快速侦听: server.listen(3000, 'localhost');

并设置你的ngnix:

server {
    listen 80;

    server_name express.your-domain.com;

    location / {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    } }

您可以根据需要添加任意数量的虚拟主机。