Nodejs项目里如何使用已配置nginx的静态资源
Nodejs项目里如何使用已配置nginx的静态资源
前端转好后台,用 express 做的,以前把静态文件直接放到七牛去,在页面直接引用相应的 CSS 和 image 。后来使用了 nginx 的时候看到有静态资源配置,没看懂如果我在 nginx 配置了,那么页面里面引用的地址怎么写?
5 回复
直接用七牛的地址就行了
nginx 不用配置
所有资源都可以从 Nodejs 取, Nginx 在前端缓存静态资源就可以了
嗯~那么这两种方式哪种比较好?
看你需求啊,访问量大,需要 cdn 就丢七牛,这会产生 cdn 费用。
项目随便自己人玩玩的话,就放 nginx 。
在Node.js项目中,使用已配置Nginx的静态资源是一种常见的做法,这有助于提高静态资源的加载速度和减轻Node.js服务器的负担。以下是如何实现这一目标的简要步骤和代码示例:
-
配置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; } }
-
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应用。