Der beste Weg besteht darin, den nginx-Server für die Bereitstellung der statischen Datei zu verwenden und den node.js-Server für die Verarbeitung des dynamischen Inhalts zu verwenden.
Es ist in der Regel die optimale Lösung die Menge an Anfragen auf Ihrem node.js Server zu reduzieren, die langsamen Server statische Dateien als nginx zum Beispiel:
Die Konfiguration zu erreichen, dass es sehr einfach ist, wenn Sie bereits Setzen Sie einen Reverse Proxy für Ihre Nodejs App.
nd nginx Konfiguration
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;
}
Jede Anfrage mit/public/an dem ersten Teil der URL wird von nginx und jeder anderen Anfrage werden Sie proxied wird gehandhabt werden könnte NodeJS App auf Ihrem IPADRESSOFNODEJSSERVER:NODEJSPORT
in der Regel der IPADRESSOFNODEJSSERVER
ist die localhost
der doc Abschnitt ausdrücklich sagen, dass http://expressjs.com/en/advanced/best-practice-performance.html#proxy
Eine noch bessere op Es wird empfohlen, einen Reverse-Proxy zu verwenden, um statische Dateien bereitzustellen. Weitere Informationen finden Sie unter Verwenden eines Reverse-Proxy.
Außerdem nginx lässt Sie leicht Caching Regeln so für statische Assets definieren, die es Ihre Anwendung beschleunigen nicht ändern kann auch mit einer Linie.
location /public/ {
expires 10d;
alias /home/myapp/public/;
}
können Sie eine Menge von Artikeln, die beiden Methoden im Internet zum Beispiel vergleichen: http://blog.modulus.io/supercharge-your-nodejs-applications-with-nginx
Haben Sie versucht, Google nach „vs node.js nginx“ gesucht? Es gibt eine Menge guter Blogposts, die eine gute Analyse zu diesem Thema haben. – Qazzian
@Qazzian ... vielleicht möchten Sie eine teilen, die Sie für gut hielten? – AdamJeffers
@AdamJeffers Dieser sah gut recherchiert aus. http://blog.modulus.io/supercharge-your-nodejs-applications-with-nginx Es hatte eine schöne Grafik und erklärte ihre Testmethoden, damit andere den gleichen Test machen konnten. edit: Ein Grund dafür, keine Links in den ersten Kommentar aufzunehmen, lag darin, dass sich die Situation mit neueren Knotenversionen ändern könnte. – Qazzian