Categories: 编程

如何配置nginx以返回文本或json

有时,当您请求某些接口时,需要返回指定的文本字符串或json字符串。如果它是一个简单的逻辑或固定的字符串,您可以使用nginx快速实现它,因此不需要编写程序来响应请求。使用nginx可以减少服务器资源的使用,并提高响应性能。首先看看如何返回固定文本和json,它们在nginx服务器段中被配置为配置要拦截的位置项,配置示例如下:

固定文本:

location ~ ^/get_text {
  default_type text/html;
  return 200 'This is test text!'; 
}

固定JSON:

location ~ ^/get_json {
  default_type application/json;
  return 200 '{"status":"success","result":"nginx test json"}';
}

保存后重新加载配置将生效。此处注意:必须添加default_type,否则浏览器会将其作为无法识别的文件下载。

此外,您可以根据请求的URL返回不同的字符串。下面是一个示例:

location ~ ^/get_text/article/(.*)_(\d+).html$ {
  default_type text/html;
  set $s $1;
  set $d $2;
  return 200 str:$s$d;
}

这可以简单地截取url中的字符串,当然,您可以使用(.*)来匹配所有字符串,事实上,可以根据不同的需要来定义
以上是一些简单的案例。在服务器环境中,对于一些简单的处理,可以使用nginx来节省一些编程工作。

还添加了中文显示问题,因为Linux使用UTF-8字符编码。默认情况下,如果服务器未指定编码或静态页面未声明编码,我们的浏览器将使用GBK代码呈现页面。因此,默认情况下,当浏览器返回中文时,浏览器使用gbk解析utf-8编码。显然,会出现乱码字符。此时,头部被主动添加到nginx的位置块中,以输出正确的编码。

add_header Content-Type 'text/html; charset=utf-8';
5.0
04
ChatGPT 常用Prompt模板
Nginx解决跨域资源问题:No 'Access-Control-Allow-Origin' header is present on the requested resource.
嘻嘻

嘻嘻IT: 笔者是一个工作七八年的程序猿老鸟,从事涉及的技术栈主要包括PHP、Linux、Devops等,喜欢研究新技术,尝试新技术,提升技术自动化和开发效率,致力于write less,do more! 技术每年都会层出不穷,领域划分的越来越细,不可能学习所有的东西,保持对技术的好奇心,理解技术中核心思想,做一个有深度,有思想的开发!

Share
Published by
嘻嘻
Tags: nginx

Recent Posts

SEOJuice一款AI内链优化工具

SEOJuice是一款创新的工…

17小时 ago

全球货币导航网页上线了!

o在全球化的今天,货币兑换和国…

1天 ago

bash字符串拼接

在编程中,字符串的拼接是一个非…

1天 ago

Bash Case详解

Bash case 语句通常用…

1天 ago