Kuhusu zana hii
Apache na Nginx ndio seva mbili kuu za wavuti zinazotumika leo, lakini zinasanidi tofauti. Apache hutumia faili za .htaccess zinazosambazwa kote kwenye mti wa hati - kila saraka inaweza kubatilisha tabia yake na ya watoto wake. Nginx hutumia faili moja ya usanidi ya kati, isiyo na ubatilishaji wa saraka. Kuhama kutoka Apache hadi Nginx kunahitaji kutafsiri kila maagizo ya .htaccess hadi kwenye kizuizi sawa cha eneo la Nginx, sheria ya kuandika upya, au maelekezo ya seva.
Matukio mengi ya matumizi ya .htaccess yana visawa vya moja kwa moja vya Nginx. Kuandika upya URL (RewriteRule) ramani kwa maagizo ya kuandika upya ya Nginx. Kuelekeza kwingine (Elekeza Upya, RedirectMatch) huwa njia za kurejesha au kuelekeza kwingine kwa Nginx. Uthibitishaji (AuthType, AuthUserFile) ramani kwa auth_basic ya Nginx. CORS, vichwa maalum, na ubatilishaji wa aina ya MIME zote zina vifaa vyake vya Nginx.
Kigeuzi hiki huchanganua maagizo ya kawaida ya .htaccess na hutoa sintaksia ya usanidi wa Nginx. Maandishi tata ya regex na maagizo ya moduli maalum ya Apache yanaweza kuhitaji marekebisho ya mwongozo, lakini kesi za kawaida hubadilika moja kwa moja. Utoaji unakusudiwa kama sehemu ya kuanzia - ihakiki kwa uangalifu kabla ya kusambaza, haswa kwa maagizo yanayozingatia usalama.
Kwa nini Badilisha .htaccess iwe Nginx
Uhamiaji wa Apache hadi Nginx ni mojawapo ya mabadiliko ya kawaida ya uendeshaji katika upangishaji wa wavuti. Nginx kawaida hutumia kumbukumbu kidogo kwa kila ombi, hushughulikia miunganisho ya wakati mmoja kwa ufanisi zaidi, na hutumikia mali tuli haraka. Uhamishaji ni wa moja kwa moja vinginevyo isipokuwa kwa tafsiri ya usanidi, ambayo ni kizuizi cha anwani za kibadilishaji.
Kusoma sintaksia inayolingana na Nginx pia huwasaidia wasimamizi wa Apache kuelewa nahau za Nginx. Ulinganisho wa kando wa usanidi huu unafafanua jinsi kila seva inavyoonyesha nia sawa.
Maelezo ya Kiufundi
Apache RewriteRule yenye bendera ya [L] inakuwa Nginx kuandika upya ... mwisho;. RewriteRule with [R=301] inakuwa kurudi 301 ikiwa na URL iliyoandikwa upya au kuandika upya kwa kudumu. Masharti (RewriteCond) ndani ya mtambo wa kuandika upya wa Apache huwa kama huzuia Nginx, kwa tahadhari ya kawaida kwamba Nginx ikiwa taarifa zina semantiki zisizo za kawaida ndani ya vizuizi vya eneo (zitumie kwa uangalifu).
Saraka za Apache na sehemu za sehemu za FilesMatch kwenye vizuizi vya eneo vya Nginx. AuthType Basic pamoja na AuthUserFile inakuwa auth_basic + auth_basic_user_file. Seti ya vichwa au AddHeader inakuwa add_header ya Nginx.
Baadhi ya vipengele vya Apache havina Nginx safi sawa. RewriteMap ya mod_rewrite yenye mandharinyuma ya hifadhidata, ubadilishanaji changamano wa mazingira, na watoa huduma fulani wa uthibitishaji mahususi wa Apache wanaweza kuhitaji moduli maalum za Nginx au hati za nje.
Maswali yanayoulizwa mara kwa mara
- Je, Htaccess To Nginx ni bure kutumia?
- Ndiyo, bila malipo kabisa bila gharama zilizofichwa, hakuna usajili, na hakuna vikwazo vya matumizi. Itumie mara nyingi unavyohitaji.
- Je, ninahitaji kuunda akaunti?
- Hapana. Zana inafanya kazi mara moja - hakuna kujisajili, hakuna anwani ya barua pepe, na hakuna maelezo ya kibinafsi yanayohitajika.
- Je, data yangu ni ya faragha na salama?
- Ndiyo. Uchakataji wote hufanyika katika kivinjari chako kwa kutumia JavaScript. Hakuna data iliyopakiwa kwa seva yoyote. Ingizo na matokeo yako hukaa kabisa kwenye kifaa chako.
- Je, hii inafanya kazi kwenye vifaa vya mkononi?
- Ndiyo. Zana hii inajibu kikamilifu na inafanya kazi kwenye simu mahiri, kompyuta kibao na kompyuta ya mezani yenye kivinjari chochote cha kisasa cha wavuti.
- Ninawezaje kushughulikia vibali vya WordPress?
- WordPress hutumia sheria za kawaida za kuandika upya; kibadilishaji huwashughulikia. Thibitisha kuwa eneo linalotokana la Nginx na maagizo ya try_files yanalingana na kile hati za WordPress zinabainisha kwa Nginx.
- Je, .htaccess yangu imepakiwa kwenye seva?
- Hapana. Ubadilishaji unaendeshwa katika kivinjari chako.
- Je kuhusu RewriteCond?
- RewriteCond inakuwa kama inazuia katika Nginx, na pango kuhusu Nginx ikiwa semantiki. Kwa misururu ya hali ngumu, urekebishaji upya kama maagizo ya ramani au maeneo tofauti mara nyingi huwa safi zaidi.
- Je! ninahitaji kuanza tena Nginx baada ya kutumia usanidi mpya?
- Ndiyo. Endesha nginx -s pakia upya (au systemctl pakia tena nginx) ili kutumia mabadiliko ya usanidi. Kila mara endesha nginx -t kwanza ili kupata hitilafu za sintaksia kabla ya kupakia upya.