Tengo aplicaciones de 2 nodos en mi Nginx con pm2. Tenía uno en modo clúster y ahora comencé uno en modo bifurcación y 1 instancia. Quiero que 1 escuche :3000 y el otro :4000. Tengo la siguiente configuración en mi nginx.conf:
server { listen 443 ssl; listen [::]:443 ssl ipv6only=on; ssl_certificate /path_to.key; ssl_certificate_key /path_to.key; server_name sub.domain.com; location / { proxy_http_version 1.1; proxy_set_header Connection ""; proxy_pass http://localhost:3000; } location /blog { rewrite /blog(.*)$ /$1 break; proxy_http_version 1.1; proxy_pass http://localhost:4000; proxy_set_header Connection ""; } }Entonces mi aplicación node.js simple se ve así:
var express = require('express'); var http = require('http'); var bodyParser = require('body-parser'); var app = express(); var port = 4000; app.use(function(req, res, next) { //allow cross origin requests res.set('Access-Control-Allow-Origin', "*"); res.set('Access-Control-Allow-Methods', 'GET,OPTIONS,POST,PUT,DELETE'); res.set('Access-Control-Allow-Headers', 'X-Requested-With,content-type,accept, content-type, x-parse-application-id, x-parse-rest-api-key, x-parse-session-token'); res.set('Access-Control-Allow-Credentials', true); next(); }); app.use(bodyParser.json({limit: '50mb', type:'application/json'})); app.use(bodyParser.urlencoded({limit: '50mb', extended: true, parameterLimit:100000,type:'application/x-www-form-urlencoding'})); app.get('/',function(req, res) { res.status(200).send('Good. Serving.'); }); var theServer = http.createServer(app); theServer.listen(port, function() { console.log('My 2nd, in fork mode, app is running on port ' + port + '.'); process.send('ready'); }); Así que esperaba que accediera a sub.domain.com/blog o tal vez directamente al puerto 4000 para obtener la respuesta res.status(200).send('Good. Serving.');
Siempre uso service nginx restart para reiniciar el servicio con las nuevas configuraciones.
También en la lista de aplicaciones de PM2 veo mi aplicación en línea en modo bifurcación, etc. ¿Me estoy perdiendo algo aquí?
Nota: normalmente veo algo relacionado con mi primera aplicación que escucha 3000.
Finalmente se solucionó el problema. Tenga cuidado con el archivo .conf que está editando. Estaba editando un archivo .conf fuera de /etc/nginx y, por supuesto, esa es la razón por la que no funciona.