Nodejs项目里如何使用已配置nginx的静态资源

Nodejs项目里如何使用已配置nginx的静态资源
前端转好后台,用 express 做的,以前把静态文件直接放到七牛去,在页面直接引用相应的 CSS 和 image 。后来使用了 nginx 的时候看到有静态资源配置,没看懂如果我在 nginx 配置了,那么页面里面引用的地址怎么写?

5 回复

直接用七牛的地址就行了
nginx 不用配置


所有资源都可以从 Nodejs 取, Nginx 在前端缓存静态资源就可以了

嗯~那么这两种方式哪种比较好?

看你需求啊,访问量大,需要 cdn 就丢七牛,这会产生 cdn 费用。

项目随便自己人玩玩的话,就放 nginx 。

在Node.js项目中,使用已配置Nginx的静态资源是一种常见的做法,这有助于提高静态资源的加载速度和减轻Node.js服务器的负担。以下是如何实现这一目标的简要步骤和代码示例:

  1. 配置Nginx: 首先,确保你的Nginx配置文件(通常是/etc/nginx/nginx.conf/etc/nginx/sites-available/default)中已正确设置静态资源的路径。例如:

    server {
        listen 80;
        server_name yourdomain.com;
    
        location /static/ {
            alias /var/www/static/;
        }
    
        location / {
            proxy_pass http://localhost:3000;
            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;
        }
    }
    
  2. Node.js项目: 在你的Node.js应用中,不需要特别处理静态资源请求,因为Nginx会拦截并处理这些请求。你只需要确保你的应用正确处理其他动态请求。例如,使用Express框架时:

    const express = require('express');
    const app = express();
    
    app.get('/', (req, res) => {
        res.send('Hello from Node.js!');
    });
    
    const PORT = process.env.PORT || 3000;
    app.listen(PORT, () => {
        console.log(`Server is running on port ${PORT}`);
    });
    

这样,所有/static/路径下的请求都会由Nginx处理,而其他请求则会被转发到Node.js应用。

回到顶部