Carga lenta la aplicación nextjs (nodejs) en el servidor apache

Carga lenta la aplicación nextjs (nodejs) en el servidor apache

Descargo de responsabilidad: todas las métricas del tiempo se miden a través de la herramienta de desarrollador

Contexto

tengo unsiguientejsaplicación alojada en un vps (ovh).

La aplicación nextjs se ejecuta en el puerto 3000de mi vps a través de pm2.

Cuando implemento la aplicación en heroku (plan gratuito), todo funciona bien.

En local, la compilación de producción también está bien y el sitio tarda <1 segundo en cargarse.

El sitio funciona detrás de un proxy inverso de Apache.

Si mi vhost está configurado para servir un archivo ( index.htmlpor ejemplo) y no se usa como proxy inverso, todo funciona bien.

El problema

El problema es: cuando cargo el sitio a través de un navegador, el sitio tarda más de 2 minutos en cargarse.

Vea que en heroku todo funciona (y en local también). Sospecho que la configuración de mi servidor.

Información de versiones

➜ node -v
v10.21.0
➜ yarn -v
1.22.5
➜ pm2 -v
4.5.1
Distributor ID: Debian
Description:    Debian GNU/Linux 10 (buster)
Release:        10
Codename:       buster

configuración de servidor virtual apache

http

<VirtualHost *:80>
  ServerAdmin [email protected]
  ServerName domain.dev
  ServerAlias www.domain.dev
  DocumentRoot /var/www/domain.dev/placeholder-pws
  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined
  RewriteEngine on
  RewriteCond %{SERVER_NAME} =domain.dev [OR]
  RewriteCond %{SERVER_NAME} =www.domain.dev
  RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

https

<IfModule mod_ssl.c>
  <VirtualHost *:443>
    ProxyPreserveHost On
    ServerAdmin [email protected]
    ServerName domain.dev
    ServerAlias www.domain.dev
    # DocumentRoot /var/www/domain.dev/placeholder-pws
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    ProxyPass "/" "http://localhost:3000/"
    ProxyPassReverse "/" "http://localhost:3000/"

    Include /etc/letsencrypt/options-ssl-apache.conf
    SSLCertificateFile /etc/letsencrypt/live/domain.dev/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/domain.dev/privkey.pem
  </VirtualHost>
</IfModule>

comprobar que la aplicación se está ejecutando

➜ netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp6       0      0 :::3000                 :::*                    LISTEN      14383/node
➜  ps -p 14383 -o comm=
node

registros

Tengo 0 inicios de sesión pm2 monity .pm2/logs/nextjs-error.logestá vacío.

.pm2/logs/nextjs-out.logdecir

0|nextjs   | $ next start -p 3000
0|nextjs   | ready - started server on http://localhost:3000

El log de Apache no dice nada interesante.

final de publicación

Llevo 3 días con este problema, cualquier ayuda es bienvenida.

Si quieres más información no dudes en preguntar.

información relacionada