Beállítás mod_gzip-et - forgalmi kompressziót apache, programozó jegyzetek

Nehéz dolog -, hogy megpróbálja tartani a frekvencia új álláshelyek blogba legalább egyszer egy héten. Örökké hülyeségeket a világban, mint az ülés, rontja a tervek # 58;) fogcsikorgatva, írj egy újabb bejegyzést, próbálok érdekes és hasznos az olvasók.

Mindenesetre, ha jól emlékszem, hogy mod_gzip-et - egy modult az Apache webszerver, amelynek célja a forgalom tömörítés. Úgy működik, nagyon egyszerű - ha a modul telepítve van, és a látogató böngészőjének egy oldalkérés azt mondja, hogy érti a gzip tömörítés:

... akkor a web szerver nem küld neki, hogy az eredeti oldalra, és gzip-pel tömörítve változat:

Content-Type: text / html; charset = utf-8
Content-Encoding: gzip

Beállítás mod_gzip-et - forgalmi kompressziót apache, programozó jegyzetek

Tény, hogy a hálózati beállítások jó néhány példát a forgalom tömörítés mod_gzip-et, de belefutottam bizonyos nehézségekkel jár, hiszen használata szeretnék mondani. Az alábbiakban az én konfigurációs fájl (mod_gzip.conf), tömörítésére használt webes forgalom ebben a blogban. Meg lehet csatlakoztatni a httpd.conf (vagy bármi is a host én - virtual.conf.manual?) Az Include direktíva:

A legújabb verzió letöltése a fájl mod_gzip.conf itt. És itt van a kód:

Eddig minden egyszerű. Ha a modul telepítve van, akkor kapcsolja be neki.

mod_gzip_can_negotiate Igen
mod_gzip_static_suffix .gz
AddEncoding gzip .gz

Opció modul mod_gzip_can_negotiate azt mondja, hogy ha a felhasználó olyan fájlt, mondjuk main.css, és ugyanabban a könyvtárban, mint ez main.css.gz (mellék beállítható mod_gzip_static_suffix), akkor meg kell adni main.css.gz. Természetesen ez csak abban az esetben, az ügyfél támogatja gzip-pel tömörítve. Így tudjuk előre tömöríteni a fájlokat, melyek a későbbiekben nem lesz szerkeszthető, és így egy kicsit a CPU időt.

Ha létrehoz egy tömörített másolatot fájlokat átadta az előző tört lehetőség, akkor tegye itt igen, töltse le a kívánt fájlokat (melyek egy tömörített másolatot hoz létre egy modult), majd tegye vissza a No. A tömörített másolatát felülírja minden új fájlra való hivatkozás, míg nem lesz regisztrálva No.

mod_gzip_temp_dir / tmp
mod_gzip_keep_workfiles Nem

Itt lehet megváltoztatni az ideiglenes könyvtárba, és adja meg, hogy szeretné tárolni őket. Az utóbbi hasznos lehet hibakeresés.

mod_gzip_minimum_file_size 500
mod_gzip_maximum_file_size 500000
mod_gzip_maximum_inmem_size 60000

Minimális / maximális fájlméretet szükséges összenyomódik, és a maximális fájlméretet, amelynél kompresszió fog bekövetkezni teljesen a memóriában, ill.

mod_gzip_min_http 1000
mod_gzip_handle_methods GET POST
mod_gzip_item_exclude reqheader "User-agent: Mozilla / 4.0 [678]"
mod_gzip_item_include felvezető ^ cgi-script $

A legkisebb változata a protokoll - HTTP / 1.0, tömöríteni csak a GET és POST kérések, hogy kizárja az ügyfelek, akik azt mondják, hogy támogatják a gzip, bár tény, hogy nem, és lehetővé teszik tömörítés adatok által kiadott CGI-szkript.

mod_gzip_item_include mime ^ szöveg /.*
mod_gzip_item_include mime ^ application / x-httpd-php
mod_gzip_item_include mime ^ alkalmazás / XML
mod_gzip_item_exclude mime ^ image /
mod_gzip_item_include file \ Js $
mod_gzip_item_include file \ .css $

Itt meg kell figyelni, hogy néhány pontot. Először is, a böngésző Netscape 4 nem kezeli a tömörített css-fájlt, és ez rossz. Szerencsére 99% -a látogatók alatt ülni Firefox, Chrome, Opera vagy IE, így aggódni egy görbe írta a böngésző, amelyben szinte senki nem használja, ne aggódj. Másodszor, sok útmutatók kínálnak helyette a 16. sort írni ezt:

mod_gzip_item_include mime ^ text / html $

Azaz, a dollár a végén van (ha elfelejtette a reguláris kifejezés) a sor végére. Így kiderül, hogy ez nem mindig működik, attól, mint kiderült, a változat mod_gzip-et. Úgy látszik, ez annak a ténynek köszönhető, hogy a webszerver küld a Content-Type értéke a következő formában:

Content-Type: text / html; charset = utf-8

Mint látható, miután a text / html nem a sor végére valójában nem az.

Ez lehetővé teszi a mod_gzip-et dekódolni szerverválaszok

Ha nem tudja, mi az, csak gondolom, hogy tényleg kell a konfigurációs fájlban. Todo: írjon egy leírást a HTTP protokoll és elmagyarázza, mi chunked.

LogFormat "% h% l% u% t" % V% r "% Out:% n =% N pct." common_with_mod_gzip_info2
CustomLog /full/path/to/logs/mod_gzip.log common_with_mod_gzip_info2

A méret rekordok a log fájlt, és az utat, hogy a log fájlt. Naplók kell venni csak a vizsgálat időpontjában mod_gzip-et, akkor lesz csak elvesztegetett hely a lemezen. Így lesz körbenézni a felvétel mod_gzip.log:

Az első sor azt mondja, hogy a select-dict.png fájl átvitelre tömörítetlen formában, mint mondtuk, nem tömöríti a képet (ezek tömörített olyan rossz, ha nem bmp). A második -, hogy a kérés, hogy érdekes példákat Perl végrehajtásra került és sikeresen előállított dechunk kompressziós html-kód, mint 73%.

Általában a véleményem a következő mod_gzip-et -, akkor ki lehet és szükséges. Elsősorban azért, mert lehetővé teszi, hogy a látogatók (és keresőprogramok) kiszámításának oldalak gyorsabb és mentse a forgalom. A legtöbb házigazdák ma nem korlátozza az összeg a forgalom, hogy a telek és használata CPU ezek nem nagyon aggódnak (szemben a futó folyamatok számának és a fogyasztás RAM), mert a megtakarítások a webmester másodlagos szerepet játszik.

Mint a bejegyzést? Oszd meg másokkal:

(Meg kell adni JS)