繁体   English   中英

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

[英]NodeJS + ExpressJS - how to point my domain name to port 3000?

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

http://122.22.11.22:3000

但是我该如何使用域名子域名呢? 例如:

http://my-express.com

或者

http://exress.mymastersite.com

顺便说一句,我使用 express-generator 创建我的 express 骨架。 我在 Linux Arch 上。

有任何想法吗?

在 bin/www 内,我有下面的代码,默认情况下由 express-generator 自动生成:

#!/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);

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

你要做的就是所谓的虚拟主机,你可以用nginx来做

让你的 express 只在 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;
    } }

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM