加入收藏 | 设为首页 | 会员中心 | 我要投稿 大庆站长网 (https://www.0459zz.com/)- 科技、智能边缘云、事件网格、云计算、站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

node.js C 哪个最有效:通过nginx或节点通过nginx反向代理直接提供静态文件?

发布时间:2023-12-17 23:59:39 所属栏目:Nginx 来源:DaWei
导读: 我已经使用nginx作为反向代理来为我的node.js webapps 3000< - > 80提供服务.实际上,我使用express.static中间件在节点应用程序中提供我的资产.
我再次阅读并再次阅读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;
see Use a reverse proxy for more information.

此外,nginx将允许您轻松定义缓存规则,因此对于不更改它的静态资产,也可以使用一行加速您的应用程序.

location /public/ { expires 10d; alias /home/myapp/public/; }

你可以在网上找到很多比较这两种方法的文章,例如:
http://blog.modulus.io/supercharge-your-nodejs-applications-with-nginx

(编辑:大庆站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章