node.js C 哪个最有效:通过nginx或节点通过nginx反向代理直接提供静态文件?
我再次阅读并再次阅读nginx非常有效地提供静
我已经使用nginx作为反向代理来为我的node.js webapps 3000< - > 80提供服务.实际上,我使用express.static中间件在节点应用程序中提供我的资产. 我再次阅读并再次阅读nginx非常有效地提供静态文件. 问题是,什么是最好的?像我已经做的那样提供资产,或者直接配置nginx来提供静态文件? 或者几乎一样? 最佳答案 最好的方法是使用nginx服务器为您提供静态文件,并让node.js服务器处理动态内容.它通常是最优化的解决方案,可以减少node.js服务器上的请求数量,该服务器对服务器静态文件的速度比nginx慢,例如: 如果您已经为nodejs app设置了反向代理,那么实现这一目标的配置非常简单. nd nginx配置可能是 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; }每个请求/ public /在url的第一部分都将由nginx处理,其他所有请求都将代理到你的IP地址:IPADRESSOFNODEJSSERVER:nODEJSPORT通常IPADRESSOFNODEJSSERVER是localhost 快递的doc部分告诉http://expressjs.com/en/advanced/best-practice-performance.html#proxy An even better option is to use a reverse proxy to serve static files; 此外,nginx将允许您轻松定义缓存规则,因此对于不更改它的静态资产,也可以使用一行加速您的应用程序. location /public/ { expires 10d; alias /home/myapp/public/; }你可以在网上找到很多比较这两种方法的文章,例如: (编辑:大庆站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- node.js – 当我有Kubernetes时,nginx有什么意义?
- nginx – 当服务器IP发生变化时,excing TCP(例如http/mysql
- Nginx“ ssl_stapling”被忽略,在OCSP响应程序“ ocsp.como
- 使用UWSGI为Nginx提供多个Django站点
- node.js – 使用nginx处理Express子域
- ruby-on-rails-4-EventController对ActionController :: Li
- linux – 无法启动php-fpm – “无法为用户’apache’获取u
- 网络 – 为什么request_time比nginx access.log中的upstrea
- ruby-on-rails-如何配置Nginx代理到Rails应用程序?这样我就
- php – nginx/fastcgi 504网关错误,增加fastcgi_read_timeo