ΠΠ±ΡΠ°Π²Π΅Π½ Π΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠ²Π½ΠΈΠΎΡ ΡΠ΅ΡΠ²Π΅Ρ NGINX Unit 1.27.0, Π²ΠΎ ΡΠΈΠΈ ΡΠ°ΠΌΠΊΠΈ ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° Π»Π°Π½ΡΠΈΡΠ°ΡΠ΅ Π½Π° Π²Π΅Π±-Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΡΠΊΠΈ ΡΠ°Π·ΠΈΡΠΈ (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js ΠΈ Java ). ΠΠ΄ΠΈΠ½ΠΈΡΠ°ΡΠ° NGINX ΠΌΠΎΠΆΠ΅ ΠΈΡΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΎ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΡΠΊΠΈ ΡΠ°Π·ΠΈΡΠΈ, ΡΠΈΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π·Π° ΡΡΠ°ΡΡΡΠ²Π°ΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΌΠ΅Π½ΡΠ²Π°Π°Ρ Π±Π΅Π· ΠΏΠΎΡΡΠ΅Π±Π° ΠΎΠ΄ ΡΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠΊΠΈΡΠ΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ ΠΈ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅. ΠΠΎΠ΄ΠΎΡ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π²ΠΎ C ΠΈ ΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½ΡΠ°ΡΠ° Apache 2.0. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ΅ Π·Π°ΠΏΠΎΠ·Π½Π°Π΅ΡΠ΅ ΡΠΎ ΠΊΠ°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈΡΠ΅ Π½Π° NGINX Unit Π²ΠΎ Π½Π°ΡΠ°Π²Π°ΡΠ° Π·Π° ΠΏΡΠ²ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅.
ΠΠΎ Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΠ·ΠΈΡΠ°:
- ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ Π·Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΈ ΠΏΡΠ°Π·Π½ΠΈ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ Π²ΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΡΠ° βΠ»ΠΎΠΊΠ°ΡΠΈΡΠ°β, ΠΎΠ±Π²ΡΠ·Π°Π½Π° Π·Π° Π΄Π΅ΡΡΡΠ²Π° βΠ²ΡΠ°ΡΠ°ΡΠ΅β.
- ΠΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²Π΅Π½ΠΎ ΠΏΡΠ΅Π½Π°ΡΠΎΡΡΠ²Π°ΡΠ΅ Π½Π° Π±Π°ΡΠ°ΡΠ°ΡΠ° HTTP ΠΊΠΎΠ½ HTTPS. ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ Π½ΠΎΠ²Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° $request_uri ΠΊΠΎΡΠ° Π³ΠΎ ΡΠΎΠ΄ΡΠΆΠΈ URI Π½Π° Π±Π°ΡΠ°ΡΠ΅, ΠΊΠΎΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΏΡΠΈ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΌΠ°ΡΡΡΡΡΠ° ΠΊΠ°ΠΊΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΠ°Ρ Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΡΠ° "Π»ΠΎΠΊΠ°ΡΠΈΡΠ°" Π²ΠΎ Π±Π»ΠΎΠΊΠΎΡ "action": { "listeners": { "*:443": { "tls ": { "certificate" : "example.com" }, "pass": "routes" }, "*:80": { "pass": "routes" } }, "routes": [ { "match": { "scheme": " http" }, "action": { "return": 301, "location": "https://${host}${request_uri}" } } }
- ΠΠΎΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ° ΠΈΠΌΠ΅ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΠΎ ΠΎΠ΄ index.html, ΠΊΠΎΠ΅ ΡΠ΅ Π±ΠΈΠ΄Π΅ Π΄Π°Π΄Π΅Π½ΠΎ ΠΊΠΎΠ³Π° ΡΠ΅ ΠΏΡΠΈΡΡΠ°ΠΏΡΠ²Π° ΡΠ°ΠΌΠΎ ΡΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌ (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, site.com/cms/). "routes": [ { "match": { "uri": "/cms/*" }, "action": { "share": "/var/cms$uri", "index": "default.html" } }, { "action": { "share": "/var/www$uri" } } ]
- ΠΠ° Ruby Rack, ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° Π½Π° ΠΎΠΊΠΎΠ»ΠΈΠ½Π°ΡΠ° βSCRIPT_NAMEβ Π΅ ΠΏΠΎΡΡΠ°Π²Π΅Π½Π°.
- ΠΠ±Π΅Π·Π±Π΅Π΄Π΅Π½Π° Π΅ ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΎΡΡ ΡΠΎ GCC 12.
ΠΠ·Π²ΠΎΡ: opennet.ru