利用Nginx或koa

Posted 李建明180

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用Nginx或koa相关的知识,希望对你有一定的参考价值。

最近在做上传的图片的需求,思考上传之后的图片怎么访问的问题,因为后端是Node,一开始尝试写一个专门的接口通过传入图片的path来查找,试了一下感觉并不理想,因为要为每种类型的文件设置Content-Type,不然浏览器会直接下载改文件。

koa-static方案

后端框架因为使用的是koa,采用koa-static实现如下:

import staticServer from 'koa-static';

app.use(staticServer(__dirname, '/upload'));

假如upload目录中有logo.png文件,就可以通过URLhttp://cms.thinktxt.com/logo.png访问到。

nginx方案

Nginx天生擅长托管静态资源,最终选用的方案是通过Nginx托管,这样还可以解放Node的服务压力,配置如下:

server {
    listen          80;
    server_name     cms.thinktxt.com;

    location / {
        大专栏  利用Nginx或koalass="kn">proxy_pass  http://127.0.0.1:8080;
        client_max_body_size    1000m;
    }

    location /images {
        root e:/WorkSpace/Thinktxt-CMS/upload/;
    }
}

假如upload目录下的images目录中有logo.png文件,就可以通过URLhttp://cms.thinktxt.com/images/logo.png访问到。

如果别的别的系统想要访问该站点目录下的资源,也可以做转发:

server {
    listen          80;
    server_name     static.thinktxt.com;

    location /images {
        proxy_pass http://cms.thinktxt.com/images;
    }
}
相关标签
技术图片

以上是关于利用Nginx或koa的主要内容,如果未能解决你的问题,请参考以下文章

基于socket.io +koa2 +天行机器人 实现简单人机实时通讯(nginx处理socket.io https代理问题)

Docker + node(koa) + nginx + mysql 线上环境部署

koa框架的快速入门与使用

利用hash或history实现单页面路由

Docker + node(koa) + nginx + mysql 开发环境搭建

学习Koa原生koa2 静态资源服务器例子