[英]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.