Nginx返回静态的json字符串

前言

自从上次安装完nginx我把服务器对外开发的端口都通过它来转发了,真香,最近要加一个获取最新版本号的功能,一开始还想写在服务器里,后来想想可不可以直接通过nginx配置呢?经过一番尝试果然是可以的,这样就不用单独编写代码来响应请求了,并且可以减少服务器资源占用,同时响应性能也非常快。

修改配置文件

还是在上次《记录一下第一次安装和配置Nginx》的配置文件 project.conf基础上改吧,修改下面这一段

server {
    listen       4100;
    server_name  localhost;

    location / {

        proxy_pass http://login_entrance;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

返回简单json字符串

如果是简单的json字符串,可以直接写在配置文件中,比较方便:

    location /version/en {
        default_type application/json;
        return 200 '{"code":0,  "version":"1.6"}';
    }

返回json文件内容

如果json内容较多,,是无法完全放到配置中的,因为 nginxconfig buffer 有4kb大小限制,这时就可以将json内容放到文件中:

    location /version/cn {
        default_type application/json;
        alias /data/update/cn_version.json;
    }

综合到一起的配置文件就变成了:

server {
    listen       4100;
    server_name  localhost;

    location /version/en {
        default_type application/json;
        return 200 '{"code":0,  "version":"1.6"}';
    }
    
    location /version/cn {
        default_type application/json;
        alias /data/update/cn_version.json;
    }

    location / {

        proxy_pass http://login_entrance;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

总结

  • 通过nginx可以直接配置返回一些静态文本或json信息,这样不用写额外的处理逻辑,同时效率比较高
  • 在返回json内容时如果数据比较多,可以保存到文件中直接在配置文件中引用文件名即可
==>> 反爬链接,请勿点击,原地爆炸,概不负责!<<==

好汉不提当年勇,如今落寞谁能懂,唯有鹤立鸡群中,任他必敬又必恭。

猜你喜欢

转载自blog.csdn.net/shihengzhen101/article/details/130353739
今日推荐