有些時(shí)候請(qǐng)求某些接口的時(shí)候需要返回指定的文本字符串或者json字符串,如果邏輯非常簡(jiǎn)單或者干脆是固定的字符串,那么可以使用nginx快速實(shí)現(xiàn),這樣就不用編寫程序響應(yīng)請(qǐ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必須要添加,否則瀏覽器會(huì)當(dāng)成不識(shí)別的文件進(jìn)行下載
另外也可以簡(jiǎn)單的根據(jù)請(qǐng)求的URL返回不同的字符串,示例如下:
location ~ ^/get_text/article/(.*)_(\d+).html$ {
default_type text/html;
set $s $1;
set $d $2;
return 200 str:$s$d;
}
這樣可以簡(jiǎn)單截取url中的字符串,當(dāng)然也可以用(.*)匹配所有的,實(shí)際中根據(jù)不同需求定義即可
上面的就是一些簡(jiǎn)單的案例,在服務(wù)器環(huán)境中對(duì)于簡(jiǎn)單的處理,充分使用nginx可以省去一些編程工作
另外補(bǔ)充一下中文顯示的問(wèn)題,因?yàn)長(zhǎng)inux下采用的是utf-8的字符編碼,默認(rèn)情況下我們的瀏覽器在服務(wù)器沒(méi)有指定編碼或者靜態(tài)頁(yè)面沒(méi)有聲明編碼的情況下會(huì)以GBK的編碼去渲染頁(yè)面,這樣默認(rèn)情況下返回中文的話瀏覽器用gbk來(lái)解析utf-8編碼,顯然會(huì)出現(xiàn)亂碼,這時(shí)要在nginx location塊中主動(dòng)添加header來(lái)輸出正確編碼,添加內(nèi)容為: add_header Content-Type 'text/html; charset=utf-8'
; 這樣瀏覽器就知道我們使用的是哪種編碼了,如下圖:

或者把a(bǔ)dd_header這行換成 charset utf-8
; 也是可以的
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。