主頁 > 知識庫 > nginx配置返回文本或json的方法

nginx配置返回文本或json的方法

熱門標(biāo)簽:美圖手機 檢查注冊表項 使用U盤裝系統(tǒng) 網(wǎng)站建設(shè) 阿里云 硅谷的囚徒呼叫中心 百度競價點擊價格的計算公式 智能手機

有些時候請求某些接口的時候需要返回指定的文本字符串或者json字符串,如果邏輯非常簡單或者干脆是固定的字符串,那么可以使用nginx快速實現(xiàn),這樣就不用編寫程序響應(yīng)請求了,可以減少服務(wù)器資源占用并且響應(yīng)性能非???/p>

先看返回固定的文本和json,都是在server中配置location攔截即可,配置示例如下:

固定文本:

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

固定json:

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

保存后重新載入配置即可生效,注意:default_type必須要添加,否則瀏覽器會當(dāng)成不識別的文件進行下載

另外也可以簡單的根據(jù)請求的URL返回不同的字符串,示例如下:

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

這樣可以簡單截取url中的字符串,當(dāng)然也可以用(.*)匹配所有的,實際中根據(jù)不同需求定義即可

上面的就是一些簡單的案例,在服務(wù)器環(huán)境中對于簡單的處理,充分使用nginx可以省去一些編程工作

另外補充一下中文顯示的問題,因為Linux下采用的是utf-8的字符編碼,默認(rèn)情況下我們的瀏覽器在服務(wù)器沒有指定編碼或者靜態(tài)頁面沒有聲明編碼的情況下會以GBK的編碼去渲染頁面,這樣默認(rèn)情況下返回中文的話瀏覽器用gbk來解析utf-8編碼,顯然會出現(xiàn)亂碼,這時要在nginx location塊中主動添加header來輸出正確編碼,添加內(nèi)容為: add_header Content-Type 'text/html; charset=utf-8'; 這樣瀏覽器就知道我們使用的是哪種編碼了,如下圖:

或者把add_header這行換成 charset utf-8; 也是可以的

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:賀州 湖北 通遼 湘潭 煙臺 山南 懷化 黃山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《nginx配置返回文本或json的方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266