DynImage - ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π΄Π»Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ
ΠΠ°Π΄Π°ΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°:
- Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠΌΠ΅Π½ΡΡΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠΏΠΈΠΈ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΡ
ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ²
- ΠΏΡΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΌ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ, ΠΎΡΠ΄Π°Π²Π°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π²ΡΠ±-ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ, Π±Π΅Π· Π·Π°ΠΏΡΡΠΊΠ° ΡΠΊΡΠΈΠΏΡΠΎΠ², (*1)
ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅! ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ImageMagick., (*2)
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
composer require m00nk/dynimage
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
'componemts' => [
...
'dynimage' => [
'class' => 'm00nk\dynimage\DynImageComponent',
],
...
'urlManager' => [
...
'rules' => [
...
'assets/dynimg/<filepath:.+>' => 'dynimage/get-image'
]
],
...
],
'controllerMap' => [
...
'dynimage' => [
'class' => 'm00nk\dynimage\controllers\ProcessController'
],
...
]
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²:
- cachePath - ΠΏΡΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠΎΡΠ½Ρ ΡΠ°ΠΉΡΠ° ΠΊ ΠΏΠ°ΠΏΠΊΠ΅ ΠΊΡΡΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. ΠΠΎ-ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ '/assets/dynimg'. ΠΡΠ° ΠΏΠ°ΠΏΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½Π° ΠΈΠ· Π±ΡΠΎΡΠ·Π΅ΡΠ°.
- sizes - ΠΌΠ°ΡΡΠΈΠ² Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΡ
ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ (ΡΠΈΡΠΈΠ½Π°). ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΡΠΈΡΠΈΠ½Ρ.
- jpegQuality - ΡΡΠΎΠ²Π΅Π½Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° Π΄Π»Ρ JPEG-ΡΠ°ΠΉΠ»ΠΎΠ², (*3)
ΠΡΠΈΠΌΠ΅Ρ Π·Π°Π΄Π°Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ:, (*4)
'componemts' => [
...
'dynimage' => [
'class' => 'm00nk\dynimage\DynImageComponent',
'jpegQuality' => 60,
'sizes' => [50, 200, 800, 1400],
'cachePath' => '/uploads/images/cache',
'engineClass' => \Imagine\Gmagick\Imagine::class, // ΠΌΠ΅Π½ΡΠ΅ΠΌ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ
],
...
'urlManager' => [
...
'rules' => [
...
'uploads/images/cache/<filepath:.+>' => 'dynimage/get-image'
]
],
...
]
...
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΏΡΠΈ ΡΠΌΠ΅Π½Π΅ ΠΏΠ°ΠΏΠΊΠΈ ΠΊΡΡΠ°, Π½ΡΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡΡ ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π² UrlManager, ΡΡΠΎΠ±Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΌΠΎΠ³ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅Ρ
Π²Π°ΡΡΠ²Π°ΡΡ Π·Π°ΠΏΡΠΎΡΡ ΠΊ Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌ ΡΠ°ΠΉΠ»Π°ΠΌ., (*5)
ΠΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΠ°ΠΏΠΊΠΈ (Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΠ°ΠΏΠΊΡ ΠΊΡΡΠ°) ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΡΠΎΠ·Π΄Π°Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ., (*6)
ΠΡΠΈΠ½ΡΠΈΠΏ ΡΠ°Π±ΠΎΡΡ
- ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΊΠΎΠ΄ΠΈΡΡΡΡΡΡ Π² ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π°. ΠΠΎ Π½ΠΈΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅.
- Π΅ΡΠ»ΠΈ ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π² ΠΏΠ°ΠΏΠΊΠ΅ ΠΊΡΡΠ°, ΡΠΎ Π²ΡΠ±-ΡΠ΅ΡΠ²Π΅Ρ ΠΏΡΠΎΡΡΠΎ ΠΎΡΠ΄Π°Π΅Ρ Π±ΡΠΎΡΠ·Π΅ΡΡ ΡΠ°ΠΉΠ». ΠΠΈΠΊΠ°ΠΊΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΡ ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ.
- Π΅ΡΠ»ΠΈ ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ ΠΊΡΡΠ° Π½Π΅Ρ, ΡΠΎ Π·Π°ΠΏΡΠΎΡ ΠΏΠ΅ΡΠ΅Ρ
Π²Π°ΡΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. ΠΡΠΈ ΡΡΠΎΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎΡ
ΡΠ°Π½ΡΠ΅Ρ Π΅Π³ΠΎ Π² ΠΊΡΡΠ΅ ΠΈ
ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π² Π±ΡΠΎΡΠ·Π΅Ρ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
ΠΡΡΡ Π΄Π²Π° Π²Π°ΡΠΈΠ°Π½ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ:
- ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Ρ Π·Π°ΡΠ°Π½Π΅Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΠΌΠΈ
- ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ΠΌ ΡΠΈΡΠΈΠ½Ρ, (*7)
CΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Ρ Π·Π°ΡΠ°Π½Π΅Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΠΌΠΈ
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ URL ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π·Π°ΡΠ°Π½Π΅Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠ΅Π³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ
ΠΌΠ΅ΡΠΎΠ΄ DynImageComponent::getUrl
:, (*8)
echo Html::img(
Yii::$app->dynimage->getUrl(
// ΠΏΡΡΡ ΠΊ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠΌΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠΎΡΠ½Ρ ΡΠ°ΠΉΡΠ°
'/uploads/images/my-photo.png',
// ΡΠΈΡΠΈΠ½Π° ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠ΅Π³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ
320,
// Π²ΡΡΠΎΡΠ° Π±ΡΠ΄Π΅Ρ Π²ΡΡΠΈΡΠ»Π΅Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Ρ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠΏΠΎΡΡΠΈΠΉ
null,
// Π½Π° Π²ΡΡ
ΠΎΠ΄Π΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ JPEG-ΡΠ°ΠΉΠ»
'jpg'
),
['class' => 'css-avatar']
);
ΠΠΎΠ΄ Π²ΡΡΠ΅ Π²ΡΡΠ°Π²ΠΈΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ HTML-ΡΠ΅Π³ Π²ΠΈΠ΄Π°, (*9)
<img src="/assets/dynimag/uploads/images/my-photo.png=320x0x70.jpg" class="css-avatar" />
ΠΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΊ ΡΠ°ΠΉΠ»Ρ, Π±ΡΠΎΡΠ·Π΅Ρ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²ΠΈΡ Π·Π°ΠΏΡΠΎΡ Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΉΠ» ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΈΡ Π΅Π³ΠΎ Π² Π±ΡΠΎΡΠ·Π΅Ρ. ΠΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡΡ
, ΡΠ°ΠΉΠ» Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΄Π°Π²Π°ΡΡΡΡ Π²ΡΠ±-ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ Π±Π΅Π· ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ., (*10)
CΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ΠΌ ΡΠΈΡΠΈΠ½Ρ
ΠΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΠΎΠ±Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΎΠ·Π΄Π°Π²Π°Π»ΠΈΡΡ Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌΠΎΠΉ ΡΠΈΡΠΈΠ½ΠΎΠΉ, Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ DynImageComponent::img
:, (*11)
echo Yii::$app->dynimage->img(
// ΠΏΡΡΡ ΠΊ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠΌΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠΎΡΠ½Ρ ΡΠ°ΠΉΡΠ°
'/uploads/images/my-photo.png',
// Π½Π° Π²ΡΡ
ΠΎΠ΄Π΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ JPEG-ΡΠ°ΠΉΠ»
'jpg',
// ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ Π±Π΅ΡΠ΅ΠΌ ΠΈΠ· Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°
null,
['class' => 'css-avatar']
);
ΠΠΎΠ΄ Π²ΡΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠ΅Π²Π΄ΠΎ-ΡΠ΅Π³ <img-dyn ... />
Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΠΈ Π·Π°Π³ΡΡΠ·ΠΈΡ JavaScript, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΡΠΎΡΠΊΠ°Π½ΠΈΡΡΠ΅Ρ Π²ΡΠ΅
ΡΠ°ΠΊΠΈΠ΅ ΡΠ΅Π³ΠΈ ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡ ΠΈΡ
ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ HTML-ΡΠ΅Π³Π°ΠΌΠΈ . ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠ΅Π³Π° Π±ΡΠ΄Π΅Ρ Π²ΡΡΠΈΡΠ»Π΅Π½Π° ΡΠΈΡΠΈΠ½Π°, ΠΈΡΡ
ΠΎΠ΄Ρ ΠΈΠ· ΡΠΈΡΠΈΠ½Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°., (*12)
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΡ ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅
ΠΡΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΈ ΡΠΈΡΠΈΠ½Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Ρ ΡΠΈΡΠΈΠ½ΠΎΠΉ, ΠΎΠΊΡΡΠ³Π»Π΅Π½Π½ΠΎΠΉ Π² Π±ΠΎΠ»ΡΡΡΡ ΡΡΠΎΡΠΎΠ½Ρ., (*13)
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:, (*14)
Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ
ΡΠΊΠ°Π·Π°Π½Ρ ΡΠ°Π·ΠΌΠ΅ΡΡ [50, 400, 1200], ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΈΡΠΈΠ½ΠΎΠΉ:
- 50 ΡΠΎΡΠ΅ΠΊ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² <= 50 ΡΠΎΡΠ΅ΠΊ
- 400 ΡΠΎΡΠ΅ΠΊ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² > 50 ΠΈ <= 400 ΡΠΎΡΠ΅ΠΊ
- 1200 ΡΠΎΡΠ΅ΠΊ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² > 400 ΡΠΎΡΠ΅ΠΊ, (*15)
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ nginx
ΠΡΠ±-ΡΠ΅ΡΠ²Π΅Ρ nginx ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΎΡ Apache, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΠΈΠ΄Π°, (*16)
location ~* \.(?:jpe?g|png|gif|webp|wbmp|xbm)$ {
expires 7d;
add_header Pragma public;
add_header Cache-Control "public";
gzip_vary on;
}
ΠΏΡΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° nginx Π½Π΅ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅! ΠΠΎΡΡΠΎΠΌΡ, ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ nginx, Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π²
ΠΏΠ°ΠΏΠΊΠ΅ ΠΊΡΡΠ°, Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°Ρ
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°., (*17)