我被困在试图建立几个节点应用在不同的领域,在一个数字海洋液滴。我完全跟随了使用nginx永久和crontab在单个VPS上托管多个Node.js应用程序的文章。
我的域名都指向正确,并设置了一个记录。
除了默认的快递3000之外,我似乎无法在任何其他端口上运行(永远)应用程序。
我按照它的要求改变了Nginx的设置:
我取消了server_names_hash_bucket_size 64的注释;(就像上面说的)
我为应用程序创建了/etc/nginx/con.d/example.com.conf文件(它们是不同的域)。我把一个放在3000端口,另一个放在4000上)。
示例:
server {
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://localhost:{YOUR_PORT};
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;
}}
我不明白Nginx何时运行该应用程序与何时永远运行该应用程序之间的区别?“国家预防机制”从哪里开始发挥作用?有多少潜在的服务器同时工作?
我似乎不能让超过一个应用程序一次运行。我可以找出如何正确地分配一个节点应用程序文件夹到一个端口,并使它永远存在。
发布于 2017-03-16 10:11:48
看看您要做的是:假设您有3个节点实例运行在3000,50007000上。现在,您必须将3个子域指向相同的ip,让我们假设您有一个域example.com,然后是ex1,ex2,ex3,这三个子域将指向相同的ip。现在在/etc/ nginx /site中创建3个独立的文件--启用/让ex1.example.com、ex2.example.com、ex3.example.com --现在将这些文件中的服务器块配置为oint到相应的节点应用程序并重新启动nginx。现在,在同一台服务器上有三个具有三个不同访问链接的节点应用程序。
发布于 2014-05-07 21:21:37
像我在DigitalOcean上提到过一样,Nginx不运行这个应用程序。它是一个and服务器,在这种情况下它充当代理。这些应用程序运行在非标准端口和Nginx上,而不是中继,然后在正确的域上运行到端口80。
选择要运行的端口,取决于应用程序本身。这些应用程序是你编写的,还是仅仅是你安装的东西?通常,您可以将端口设置为环境变量。所以,你可以用这样的方式开始你的应用:
PORT=4000 forever start --sourceDir /path/to/your/node/app main.js这就假设应用程序会做一些类似于下面的事情。这来自使用快递生成器创建的模板,因此它是相当通用的:
#!/usr/bin/env node
var debug = require('debug')('my-application');
var app = require('../app');
app.set('port', process.env.PORT || 3000);
var server = app.listen(app.get('port'), function() {
debug('Express server listening on port ' + server.address().port);
});默认情况下使用端口3000,除非设置了环境变量。
https://stackoverflow.com/questions/23526413
复制相似问题