"Nginx" yra lengva ir didelio našumo serverio programinė įranga, nors ir lengva, bet labai galinga, ji gali būti naudojama teikti WEB paslaugas, atvirkštinį tarpinį serverį, apkrovos balansavimą, talpyklos paslaugas ir net kurti RTMP srautinio perdavimo paslaugas pridedant kai kuriuos modulius. Neseniai susidūriau su klientų paklausa ir reikėjo naudoti nginx žiniatinklio turinio pakeitimo modulį, toliau pateikiamas atitinkamo eksperimento įrašas, paskelbtas bendrauti su jumis, jei yra kokių nors trūkumų, atkreipkite dėmesį.
ngx_http_sub_module modulis yra filtras, kuris modifikuoja svetainės atsakymo turinio eilutes. Šis modulis jau yra integruotas į nginx, tačiau jis nėra įdiegtas pagal numatytuosius nustatymus, todėl norint jį įdiegti, reikia pridėti konfigūracijos parametrus: --with-http_sub_module Jei jau įdiegėte nginx, jums reikia pridėti tik šį modulį.
1. Montavimas:
Nginx oficialios svetainės atsisiuntimo ir diegimo paketas:Hipersaito prisijungimas matomas.
# wgetHipersaito prisijungimas matomas.
# tar -zxvf nginx-1.11.5.tar.gz
# cd nginx-1.11.5
# ./configure --with-http_stub_status_module --with-http_sub_module && make && make install
2. Bendrosios instrukcijos:
2.1 sub_filter Instrukcijos: sub_filter eilutės (originalios stygos) pakeitimas (eilutė pakeisti);
Norėdami nustatyti, ar reikia pakeisti aprašymo eilutę aprašymo eilute. Eilutė yra eilutė, kurią reikia pakeisti, pakeitimas yra nauja eilutė, kurioje gali būti kintamųjų.
2.2 sub_filter_last_modified Instrukcija: sub_filter_last_modified įjungta | išjungta;
Jis naudojamas nustatyti, ar modifikuoti, ar pakeisti tinklalapį galima sukonfigūruoti trijose http, serverio ir vietos vietose nginx.conf, o numatytoji reikšmė yra išjungta.
2.3 sub_filter_onceDirektyva: sub_filter_once dėl | išjungta;
Naudojamas eilučių pakeitimų skaičiui nustatyti,Pagal numatytuosius nustatymus jis keičiamas tik vieną kartą. Jei jis įjungtas, pagal numatytuosius nustatymus bus pakeistas tik pirmasis su simboliu sutapęs simbolis, o jei jis išjungtas, bus pakeisti visi atitinkantys simboliai;
2.4 sub_filter_types Instrukcija: sub_filter_types *
Naudojamas MIME tipui, kurį reikia pakeisti, nurodyti, numatytasis yra "text/html", jei nustatytas į *, tada visi;
Pastaba: aukščiau pateiktą komandą galima sukonfigūruoti http, serveryje ir vietoje nginx.conf.
3. Atvirkštinis tarpinio serverio dinaminis žiniatinklio turinio pavyzdžio pakeitimas:
prieš srovęHipersaito prisijungimas matomas. {
serveris 118.184.180.46:80;
}
#反向代理, jei turite kelis serverio IP, taip pat galite pridėti strategijas, pvz., apkrovos balansavimo metodą ir svorį #
serveris {
klausytis 80;
#监听端口 #
server_nameHipersaito prisijungimas matomas.;
#设置server pavadinimas #
simbolių rinkinys UTF-8;
#设置字符编码为utf-8, kurį galima reguliuoti atsižvelgiant į faktinę situaciją #
vieta / {
proxy_passHipersaito prisijungimas matomas.$request_uri;
#反向代理规则 #
proxy_set_header Accept-Encoding ištuštinti;
#设置反向代理头部, kartais kilmės serveris reaguoja į gzip formatą, o jį keičiant kils problemų, kurias galima išspręsti šiuo elementu #
subs_filter "183.251.160.127" "123.181.128.17";
#替换指定ip, pakeiskite 183.251.160.127 į 123.181.128.17 čia #
subs_filter "Fujian Province Longyan City Mobile" "Hebei Province Tangshan City Telecom";
#替换城市. Operatoriaus informacija, šis pakaitinis nginx modulis palaiko kinų pakeitimą #
subs_filter_types tekstas/html;
#指定被替换的MIME类型 #
sub_filter_once;
#指定字符串替换次数, on reiškia pakeisti tik pirmąjį atitikusį simbolį, o off reiškia pakeisti visus sutapusius simbolius #
}
}
Iliustruoti:
1. Šis modulis neskiria didžiųjų ir mažųjų raidžių;
2. Palaikykite Kinijos pakeitimą;
Nginx.conf pilna konfigūracija:
Eksperimentinio efekto ekrano kopija:
Išvada:
Kitas panašus turinio pakeitimo modulis nginx_substitutions_filter, jei jus domina, galite eksperimentuoti ir žaisti.
Tinkas:
Konfigūruoti kodą:
|