Cách tốt nhất là sử dụng máy chủ nginx để phục vụ bạn tệp tĩnh và cho phép máy chủ node.js xử lý nội dung động.
Nó thường là giải pháp tối ưu nhất để giảm số lượng các yêu cầu trên máy chủ Node.js của bạn mà là chậm đến máy chủ tập tin tĩnh hơn nginx ví dụ:
Cấu hình để đạt được điều đó là rất dễ dàng nếu bạn đã đặt proxy ngược cho ứng dụng nodejs của bạn.
nd cấu hình nginx có thể
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;
}
Mỗi yêu cầu với/public/ở phần đầu của url sẽ được xử lý bởi nginx và mọi yêu cầu khác sẽ được proxy cho bạn nodejs ứng dụng tại IPADRESSOFNODEJSSERVER:NODEJSPORT
của bạn thường là IPADRESSOFNODEJSSERVER
là localhost
phần doc của tốc hành nói rằng http://expressjs.com/en/advanced/best-practice-performance.html#proxy
Một op thậm chí tốt hơn tion là sử dụng proxy ngược để phục vụ các tệp tĩnh; xem Sử dụng proxy ngược để biết thêm thông tin.
nginx Hơn nữa sẽ cho phép bạn dễ dàng xác định quy tắc bộ nhớ đệm nên đối với tài sản tĩnh mà không làm thay đổi nó có thể tăng tốc độ ứng dụng của bạn cũng có một dòng.
location /public/ {
expires 10d;
alias /home/myapp/public/;
}
Bạn có thể tìm thấy rất nhiều điều mà so sánh các phương pháp cả trên internet ví dụ: http://blog.modulus.io/supercharge-your-nodejs-applications-with-nginx
Các bạn đã thử tìm kiếm google cho "nginx vs Node.js"? Có rất nhiều bài đăng trên blog tốt mà có một số phân tích tốt về chủ đề này – Qazzian
@Qazzian ... có lẽ bạn muốn chia sẻ bài viết mà bạn nghĩ là tốt? – AdamJeffers
@AdamJeffers Cái này được nghiên cứu kỹ lưỡng. http://blog.modulus.io/supercharge-your-nodejs-applications-with-nginx Nó có một đồ thị tốt đẹp và giải thích phương pháp thử nghiệm của họ để những người khác có thể làm thử nghiệm tương tự. chỉnh sửa: một lý do không bao gồm các liên kết trong nhận xét đầu tiên là do tình hình có thể thay đổi với các phiên bản mới hơn của nút. – Qazzian