nginx ΠΏΠΎΠ΄ Windows
| ΠΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ |
ΠΠ΅ΡΡΠΈΡ nginx ΠΏΠΎΠ΄ Windows ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ βΡΠΎΠ΄Π½ΠΎΠΉβ Win32 API (Π½Π΅ ΡΠΌΡΠ»ΡΡΠΈΡ Cygwin).
Π Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ
select() ΠΈ poll() (1.15.9),
ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ ΡΡΠΎΠΈΡ ΠΎΠΆΠΈΠ΄Π°ΡΡ Π²ΡΡΠΎΠΊΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΠΈ.
Π ΡΠΈΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈ ΡΡΠ΄Π° Π΄ΡΡΠ³ΠΈΡ
ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ
ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π²Π΅ΡΡΠΈΡ nginx ΠΏΠΎΠ΄ Windows
ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠΎΠΊΠ° ΠΊΠ°ΠΊ Π±Π΅ΡΠ°-Π²Π΅ΡΡΠΈΡ.
ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π² Π½Π΅ΠΉ Π΄ΠΎΡΡΡΠΏΠ½Π° ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ, ΡΡΠΎ ΠΈ
Π² Π²Π΅ΡΡΠΈΠΈ nginx ΠΏΠΎΠ΄ UNIX, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ
XSLT-ΡΠΈΠ»ΡΡΡΠ°, ΡΠΈΠ»ΡΡΡΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΠΌΠΎΠ΄ΡΠ»Ρ GeoIP ΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° Perl.
Π§ΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ nginx/Windows, ΡΠΊΠ°ΡΠ°ΠΉΡΠ΅
Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ (1.31.4),
ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ Π²Π΅ΡΠ²Ρ nginx ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²ΡΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ.
ΠΠ°ΡΠ΅ΠΌ ΡΠ°ΡΠΏΠ°ΠΊΡΠΉΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ², ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³
nginx-1.31.4
ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ nginx.
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π»Ρ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π½Π° Π΄ΠΈΡΠΊΠ΅ C:
cd c:\ unzip nginx-1.31.4.zip cd nginx-1.31.4 start nginx
Π§ΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΡ nginx, Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΡΠΈΠ»ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ
tasklist:
C:\nginx-1.31.4>tasklist /fi "imagename eq nginx.exe" Image Name PID Session Name Session# Mem Usage =============== ======== ============== ========== ============ nginx.exe 652 Console 0 2Β 780 K nginx.exe 1332 Console 0 3Β 112 K
ΠΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Π³Π»Π°Π²Π½ΡΠΉ, Π΄ΡΡΠ³ΠΎΠΉΒ β ΡΠ°Π±ΠΎΡΠΈΠΉ.
ΠΡΠ»ΠΈ nginx Π½Π΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ, Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΊΠ°ΡΡ ΠΏΡΠΈΡΠΈΠ½Ρ Π²
Π² ΡΠ°ΠΉΠ»Π΅ Π»ΠΎΠ³Π° ΠΎΡΠΈΠ±ΠΎΠΊ logs\error.log.
ΠΡΠ»ΠΈ ΠΆΠ΅ Π»ΠΎΠ³-ΡΠ°ΠΉΠ» Π½Π΅ ΡΠΎΠ·Π΄Π°Π»ΡΡ, ΡΠΎ ΠΏΡΠΈΡΠΈΠ½Ρ ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΊΠ°ΡΡ
Π² Windows Event Log.
ΠΡΠ»ΠΈ Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΡΡΠ°Π½ΠΈΡΠ° Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ, Π½ΡΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅
ΠΈΡΠΊΠ°ΡΡ ΠΏΡΠΈΡΠΈΠ½Ρ ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΡΠ°ΠΉΠ»Π΅ logs\error.log.
nginx/Windows ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½ Π±ΡΠ» Π·Π°ΠΏΡΡΠ΅Π½, Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅
ΠΏΡΠ΅ΡΠΈΠΊΡΠ° Π΄Π»Ρ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΠΏΡΡΠ΅ΠΉ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ.
Π Π²ΡΡΠ΅ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠ΅ΡΠΈΠΊΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ
C:\nginx-1.31.4\.
ΠΡΡΠΈ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π°Π΄Π°Π²Π°ΡΡΡΡ Π² UNIX-ΡΡΠΈΠ»Π΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ
ΠΏΡΡΠΌΡΡ
ΡΠ»ΡΡΠ΅ΠΉ:
access_log logs/site.log; root C:/web/html;
nginx/Windows ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΊ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (Π½Π΅ ΡΠ΅ΡΠ²ΠΈΡ) ΠΈ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄:
nginx -s stop Π±ΡΡΡΡΠΎΠ΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ nginx -s quit ΠΏΠ»Π°Π²Π½ΠΎΠ΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ nginx -s reload ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, Π·Π°ΠΏΡΡΠΊ Π½ΠΎΠ²ΡΡ ΡΠ°Π±ΠΎΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Ρ Π½ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠ΅ΠΉ, ΠΏΠ»Π°Π²Π½ΠΎΠ΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠ°ΡΡΡ ΡΠ°Π±ΠΎΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² nginx -s reopen ΠΏΠ΅ΡΠ΅ΠΎΡΠΊΡΡΡΠΈΠ΅ Π»ΠΎΠ³-ΡΠ°ΠΉΠ»ΠΎΠ²
ΠΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ
- Π₯ΠΎΡΡ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Π·Π°ΠΏΡΡΠΊ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ°Π±ΠΎΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ ΡΠ΅Π°Π»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
- UDP (ΠΈ, ΠΊΠ°ΠΊ ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅, QUIC) Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ.
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ
- ΠΠ°ΠΏΡΡΠΊ Π² Π²ΠΈΠ΄Π΅ ΡΠ΅ΡΠ²ΠΈΡΠ°.
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΡΡΠΎΠ² Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° (I/O completion ports) Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ.
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ°Π±ΠΎΡΠΈΡ Π½ΠΈΡΠ΅ΠΉ Π²Π½ΡΡΡΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°.