Najlepszym sposobem jest użycie serwera Nginx do obsługi pliku statycznego i umożliwienie serwerowi node.js obsługiwać zawartość dynamiczną.
Jest to zazwyczaj najbardziej zoptymalizowane rozwiązanie, aby zmniejszyć ilość żądań na serwerze node.js, który jest wolniejszy do serwera plików statycznych niż nginx na przykład:
Konfiguracja do osiągnięcia tego jest bardzo proste, jeśli już ustawić odwrotne proxy dla ciebie aplikacja nodejs.
nd nginx konfiguracja może być
root /home/myapp;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name _;
location /public/ {
alias /home/myapp/public/;
}
location/{
proxy_pass http://IPADRESSOFNODEJSSERVER:8080;
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;
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
#try_files $uri $uri/ =404;
}
Każdy wniosek z/public/na pierwszą część adresu URL będą obsługiwane przez nginx i każdy inny wniosek będą przekierowywane do ciebie nodejs aplikację na swoim IPADRESSOFNODEJSSERVER:NODEJSPORT
zwykle IPADRESSOFNODEJSSERVER
jest localhost
sekcja doc ekspresowych powiedzieć, że http://expressjs.com/en/advanced/best-practice-performance.html#proxy
jeszcze lepiej op jest używanie odwrotnego proxy do serwowania plików statycznych; zobacz Użyj odwrotnego proxy, aby uzyskać więcej informacji.
Ponadto nginx pozwoli Ci łatwo zdefiniować zasady buforowania tak aktywów statycznych, że nie zmienia to może przyspieszyć swoją aplikację również z jednej linii.
location /public/ {
expires 10d;
alias /home/myapp/public/;
}
Można znaleźć wiele artykułów, które porównują obu metod w internecie na przykład: http://blog.modulus.io/supercharge-your-nodejs-applications-with-nginx
Czy próbowałeś wyszukiwanie google dla „nginx vs node.js”? Jest wiele dobrych postów na blogu, które mają dobrą analizę na ten temat. – Qazzian
@Qazzian ... może chcesz podzielić się tym, który był dobry? – AdamJeffers
@AdamJeffers Ten wyglądał dobrze zbadany. http://blog.modulus.io/supercharge-your-nodejs-applications-with-nginx Miał ładny wykres i wyjaśnił swoje metody testowania, aby inni mogli wykonać ten sam test. edytuj: jednym z powodów, dla których nie uwzględniono linków w pierwszym komentarzu, było to, że sytuacja może się zmienić w nowszych wersjach węzła. – Qazzian