Quiero ejecutar el servidor express usando Nginx en localhost. ¿Es posible? Si es posible, ¿cómo puedo lograr eso?
const express = require('express') const app = express() const port = 3000 app.get('/', (req, res) => res.send('Hello World!')) app.listen(port, () => console.log(`Server listening at http://localhost:${port}`))
Si desea utilizar nginx como proxy inverso para express, puede configurar su servidor de la siguiente manera:
server { listen 80 default_server; server_name _; location / { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_pass http://localhost:3000; #port where you are serving your express app. } }
Debe realizar su configuración en /etc/nginx/sites-available/default
Después de cambiar el archivo de configuración, verifique si no hay ningún error en su secuencia de comandos:
$sudo nginx -t
El resultado esperado debe ser:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Después de que la configuración esté bien, debe reiniciar su instancia nginx, con el comando:
$sudo nginx -s reload
Después de una recarga adecuada, confirme que su nodo/servidor rápido se está ejecutando. Ahora, si accede a http://localhost
, debería ver lo que está escuchando en http://localhost:3000
Nginx debería estar sirviendo su instancia, cuando detenga sus nodos / express, debería ver el error predeterminado 502.