Par šo rīku
Apache un Nginx ir divi dominējošie tīmekļa serveri, kas tiek izmantoti mūsdienās, taču tie tiek konfigurēti atšķirīgi. Apache izmanto .htaccess failus, kas ir izplatīti visā dokumentu kokā — katrs direktorijs var ignorēt sevi un savus bērnus. Nginx izmanto vienu centralizētu konfigurācijas failu bez direktoriju ignorēšanas. Lai migrētu no Apache uz Nginx, katra .htaccess direktīva ir jāpārtulko līdzvērtīgā Nginx atrašanās vietas blokā, pārrakstīšanas kārtulā vai servera direktīvā.
Visbiežāk sastopamajiem .htaccess lietošanas gadījumiem ir tieši Nginx ekvivalenti. URL pārrakstīšana (RewriteRule) ir saistīta ar Nginx pārrakstīšanas direktīvu. Novirzīšana (Redirect, RedirectMatch) kļūst par Nginx atgriešanas vai novirzīšanas līnijām. Autentifikācija (AuthType, AuthUserFile) tiek kartēta uz Nginx auth_basic. CORS, pielāgotās galvenes un MIME tipa ignorēšanas ir Nginx ekvivalenti.
Šis pārveidotājs parsē parastās .htaccess direktīvas un izveido Nginx konfigurācijas sintaksi. Sarežģītas regulārās izteiksmes pārrakstīšanas un Apache specifisko moduļu direktīvās var būt nepieciešama manuāla pielāgošana, taču parastie gadījumi tiek konvertēti tieši. Izvade ir paredzēta kā sākumpunkts — rūpīgi pārskatiet to pirms izvietošanas, jo īpaši attiecībā uz drošības ziņā jutīgām direktīvām.
Kāpēc konvertēt .htaccess uz Nginx
Apache migrācija uz Nginx ir viena no visizplatītākajām tīmekļa mitināšanas izmaiņām. Nginx parasti izmanto mazāk atmiņas vienam pieprasījumam, efektīvāk apstrādā vienlaicīgus savienojumus un ātrāk apkalpo statiskos līdzekļus. Citādi migrācija ir vienkārša, izņemot konfigurācijas tulkošanu, kas ir pārveidotāja adreses vājā vieta.
Nginx līdzvērtīgas sintakses lasīšana arī palīdz Apache administratoriem izprast Nginx idiomas. Abu konfigurāciju salīdzinājums līdzās ļauj noskaidrot, kā katrs serveris pauž vienu un to pašu nodomu.
Tehniskās detaļas
Apache RewriteRule ar karodziņu [L] kļūst par Nginx pārrakstīt ... pēdējais;. RewriteRule ar [R=301] kļūst par atgriešanos 301 ar pārrakstīto URL vai pastāvīgu pārrakstīšanu. Nosacījumi (RewriteCond) Apache pārrakstīšanas programmā kļūst par if blokiem Nginx, ar standarta brīdinājumu, ka Nginx, ja apgalvojumiem atrašanās vietu blokos ir neparasta semantika (lietojiet tos uzmanīgi).
Apache direktoriji un FilesMatch sadaļas tiek kartētas uz Nginx atrašanās vietas blokiem. AuthType Basic un AuthUserFile kļūst par auth_basic + auth_basic_user_file. Galvenes kopa vai AddHeader kļūst par Nginx add_header.
Dažām Apache funkcijām nav tīra Nginx ekvivalenta. mod_rewrite's RewriteMap ar datu bāzes aizmugursistēmu, sarežģītu vides mainīgo manipulāciju un noteiktiem Apache autentifikācijas nodrošinātājiem var būt nepieciešami pielāgoti Nginx moduļi vai ārējie skripti.
Bieži uzdotie jautājumi
- Vai Htaccess To Nginx var izmantot bez maksas?
- Jā, pilnīgi bez maksas bez slēptām izmaksām, bez abonementiem un bez lietošanas ierobežojumiem. Izmantojiet to tik bieži, cik nepieciešams.
- Vai man ir jāizveido konts?
- Nē. Rīks darbojas nekavējoties — nav jāreģistrējas, nav e-pasta adreses un nav nepieciešama personiskā informācija.
- Vai mani dati ir privāti un droši?
- Jā. Visa apstrāde notiek jūsu pārlūkprogrammā, izmantojot JavaScript. Nevienā serverī netiek augšupielādēti dati. Jūsu ievade un izvade pilnībā paliek jūsu ierīcē.
- Vai tas darbojas mobilajās ierīcēs?
- Jā. Rīks ir pilnībā atsaucīgs un darbojas viedtālruņos, planšetdatoros un galddatoros ar jebkuru modernu tīmekļa pārlūkprogrammu.
- Kā rīkoties ar WordPress pastāvīgajām saitēm?
- WordPress izmanto standarta pārrakstīšanas noteikumus; pārveidotājs tos apstrādā. Pārbaudiet, vai iegūtās Nginx atrašanās vietas un try_files direktīvas atbilst WordPress dokumentācijā norādītajām Nginx.
- Vai mans .htaccess ir augšupielādēts serverī?
- Nē. Konvertēšana tiek veikta jūsu pārlūkprogrammā.
- Kā ar RewriteCond?
- RewriteCond kļūst par if blokiem Nginx, ar brīdinājumu par Nginx if semantiku. Sarežģītām nosacījumu ķēdēm pārstrukturēšana kā kartes direktīvas vai atsevišķas atrašanās vietas bieži ir tīrāka.
- Vai man ir jārestartē Nginx pēc jaunās konfigurācijas lietošanas?
- Jā. Palaidiet nginx -s reload (vai systemctl reload nginx), lai lietotu konfigurācijas izmaiņas. Vienmēr vispirms palaidiet nginx -t, lai pirms atkārtotas ielādes konstatētu sintakses kļūdas.