면책조항: 모든 시간 측정항목은 개발자 도구를 통해 측정됩니다.
문맥
나는넥스트vps(ovh)에서 호스팅되는 앱입니다.
nextjs 앱 3000
은 pm2
.
heroku(무료 플랜)에 앱을 배포하면 모든 것이 잘 작동합니다.
로컬에서는 프로덕션 빌드도 괜찮고 사이트를 로드하는 데 1초 미만이 걸립니다.
이 사이트는 Apache 역방향 프록시 뒤에서 제공됩니다.
내 가상 호스트가 파일을 제공하도록 구성되어 있고( index.html
예를 들어) 역방향 프록시처럼 사용되지 않으면 모든 것이 잘 작동합니다.
문제
문제는 내비게이터를 통해 사이트를 로드할 때 사이트를 로드하는 데 +2분이 걸린다는 것입니다.
heroku에서는 모든 것이 작동하고 로컬에서도 작동하는지 확인하세요. 서버 구성이 의심됩니다.
버전 정보
➜ 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
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>
앱이 실행 중인지 확인하세요
➜ 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
로그
로그인이 0 pm2 monit
이고 .pm2/logs/nextjs-error.log
비어 있습니다.
.pm2/logs/nextjs-out.log
말하다
0|nextjs | $ next start -p 3000
0|nextjs | ready - started server on http://localhost:3000
아파치 로그에는 흥미로운 내용이 없습니다.
포스트 끝
나는 이 문제를 3일 동안 겪었습니다. 어떤 도움이라도 환영합니다.
더 많은 정보를 원하시면 언제든지 문의해 주세요.