05月21, 2019

使用nginx配置静态文件服务器

之前写了个密码管理的工具,前端使用react后端使用koa,打包后的文件加载都是由koa处理,代码配置如下:

const staticPath = '../views/build'

app.use(static(
    path.join(__dirname, staticPath)
))

所有后端api未匹配的接口,均交给前端处理

router.get("/", async function (ctx) {
  await readFile("../views/build/index.html").pipe(ctx.render);
});

router.get("*", async function (ctx) {
  ctx.response.redirect("/");
});

但是使用了很久发现,加载太慢了,服务器10M的宽带,加载1.3M的文件竟然要2秒多。 alt

无法接受,于是准备使用nginx来作为前端静态文件的服务器,并且代理所有的api请求,nginx配置如下(后端koa的端口在localhost:3002):

server {
    listen 80;
    server_name  要配置的域名;
    root  静态文件路径;
    index index.html index.php;


    location / { 
        try_files $uri $uri/ /index.html;
    }

    location ~ /api/ {
        proxy_pass  http://127.0.0.1:3002;
    }
} 

结果加载快了很多,美滋滋 alt

本文链接:http://h88829.top/post/node-nginx.html

-- EOF --

Comments