Namestite Nginx
Privzeto Ubuntu ni dobavljen z Nginxom. Zato ga je treba namestiti ročno z naslednjimi ukazi.
posodobitev sudo apt-getsudo apt-get namestite Nginx
Prvi ukaz posodobi informacije o lokalnem skladišču, drugi ukaz pa namesti Nginx v sistem.
Konfigurirajte požarni zid
Konfiguriranje požarnega zidu je odvisno od programske opreme požarnega zidu, nameščene v sistemu. Ker je na trgu na voljo več požarnih zidov, jih ni lahko naučiti, kako jih konfigurirati. V tem priročniku je prikazano le, kako konfigurirati privzeti vgrajeni požarni zid - UFW, imenovan tudi nezapleteni požarni zid. Drugi požarni zidi bi morali imeti podobno konfiguracijo kot ta.
seznam aplikacij sudo ufwsudo ufw dopusti 'Nginx HTTPS'
sudo ufw omogoči
V prvem ukazu so navedeni razpoložljivi profili, ki se uporabljajo v požarnem zidu. Drugi ukaz uporablja profil Nginx HTTPS na seznamu dovoljenega (ali dovoljenega) požarnega zidu, tretji ukaz pa požarni zid. Ta priročnik kasneje prikazuje, kako uporabljati HTTPS. HTTPS je danes potreben, saj varuje podatkovno povezavo med odjemalcem in strežnikom. Brskalniki, kot je Chrome, bodo v prihodnosti samodejno privzeto uporabljali različico HTTPS katerega koli spletnega mesta; zato je za katero koli spletno stran treba omogočiti SSL, še posebej, če lastnik spletnega mesta namerava izboljšati svojo oceno SEO in varnost.
Konfigurirajte datotečni sistem
Čeprav Nginx podpira prikazovanje vsebin prek več domenskih imen, je privzeto konfiguriran za prikazovanje vsebin prek ene domene. Privzeta pot je Nginx / var / www / html. Več domen mora imeti več imenikov. Naslednja navodila prikazujejo, kako ustvariti več imenikov za prikazovanje vsebin prek več domen.
- Za vsako domeno ustvarite imenik z naslednjimi ukazi. Oznaka p je potrebna za ustvarjanje nadrejenih imenikov, kar pomeni, da kadar www ali kateri koli drug imenik na naslovu ne obstaja, ustvari celo vrstico imenikov z zastavico p. sudo mkdir -p / var / www / nucuta.com / html
- Dodelite lastništvo imenikom. To zagotavlja uporabniku popoln nadzor nad imeniki. Vendar je tukaj uporabnik vzet iz trenutno prijavljenega uporabnika, zato je pomembno, da se prijavite v uporabniški račun, ki bo dodeljen imeniku. Prvi segment $ USER je za uporabnika, drugi segment pa za skupino, ki ji uporabnik pripada. sudo chown -R $ UPORABNIK: $ USER / var / www / nucuta.com / html
- Spremenite dovoljenje imenikov z naslednjimi ukazi. V datotečnih sistemih Linux obstajajo 3 entitete in 3 dovoljenja. V naslednjem primeru je prva številka za uporabnika, druga številka za skupino in zadnja številka za vse (tudi javna). Dovoljenje za branje ima vrednost 4, dovoljenje za pisanje ima vrednost 2, dovoljenje za branje pa ima vrednost 1. Te številke je mogoče seštevati, da spremenite dovoljenje entitete, na primer 755 pomeni, da ima USER dovoljenje za PREBERI, PIŠI in IZVEDI (4 + 2 + 1 = 7), GROUP ima dovoljenje za PREBERI in IZVEDI (4 + 1 = 5), ALL ima dovoljenje, da stori enako. Dovoljenje velja za datoteke in imenike z različnimi pravili. Pravila so navedena v spodnjem grafikonu.
- Ko je dovoljenje dodeljeno, ustvarite privzeto stran za vsako domeno v spletnem brskalniku, ko pokličete golo domeno. Gola domena pomeni domeno brez kakršnih koli poddomen, na primer nucuta.com. nano / var / www / nucuta.com / html / index.html.
- V vsako indeksno datoteko dodajte naslednjo vzorčno kodo in shranite kot indeks.html v ustreznem imeniku (kot je prikazano zgoraj).
sudo mkdir -p / var / www / nucuta.net / html.
sudo chown -R $ UPORABNIK: $ USER / var / www / nucuta.net / html
sudo chmod -R 755 / var / www / nucuta.com / html
sudo chmod -R 755 / var / www / nucuta.net / html
nano / var / www / nucuta.net / html / index.html.
Uspeh!
Konfigurirajte Nginx
Konfiguriranje Nginxa ni tako težko, saj Nginx privzeto podpira več domen. Čeprav je v isti datoteki mogoče uporabiti informacije o konfiguraciji več domen, je priporočljivo uporabiti več datotek za podatke o konfiguraciji vsake domene. Privzeta konfiguracijska datoteka se imenuje "privzeto" in se nahaja v / etc / nginx / sites-available / default
- Pojdite na / etc / nginx / sites-available / default in izbrišite vse podatke o konfiguraciji. Uporabite urejevalnik besedil, kot je nano ali beležka++ nano / etc / nginx / sites-available / default
- Kopirajte in prilepite naslednjo konfiguracijo in jo shranite. strežnik
- Kopirajte podatke o konfiguraciji v privzeti datoteki v konfiguracijsko datoteko za določeno domeno z naslednjim ukazom. sudo cp / etc / nginx / sites-available / default / etc / nginx / sites-available / nucuta.com
- Ponovite zgornji korak tudi v drugo domeno z naslednjim ukazom. sudo cp / etc / nginx / sites-available / default / etc / nginx / sites-available / nucuta.mreža
- Odprite obe datoteki z urejevalnikom besedila, kot je nano (nano), in spremenite vrednost direktive ime_strežnika, kot sledi. V / etc / nginx / sites-available / nucuta.com datoteko
- Ko sta konfigurirani obe datoteki, ju kopirajte v naslednje imenike, da aktivirate konfiguracijske datoteke. Ustvari simbolno povezavo med dejansko datoteko in imenikom; zato je treba v prihodnosti spremeniti samo datoteke v imeniku, ki je na voljo za spletno mesto, da se spremenijo imeniki, ki so na voljo in omogočeni. sudo ln -s / etc / nginx / sites-available / nucuta.com / etc / nginx / sites-enabled /
- Preglejte konfiguracijske datoteke, izvedite še kakšne spremembe in uporabite naslednje ukaze, da bodo spremembe učinkovite. Prvi ukaz zagotavlja, da v konfiguracijskih datotekah niso neveljavne konfiguracijske informacije, drugi pa ukaz, da je strežnik pravilno naložen ali znova zagnan, da bodo spremembe učinkovite. Uporabite ukaze za ponovno nalaganje ali ponovni zagon. Zaželeno je ponovno nalaganje, vendar lahko vnovični zagon uporabite, če ponovnega nalaganja ni uspelo. systemctl config nginx
poslušaj 80 default_server;
poslušaj [::]: 80 privzeti strežnik;
root / var / www / html;
indeksni indeks.indeks html.indeks htm.nginx-debian.html;
ime_strežnika _;
lokacija /
try_files $ uri $ uri / = 404;
ime strežnika nucuta.com
V / etc / nginx / sites-available / nucuta.neto datoteka
ime strežnika nucuta.mreža
sudo ln -s / etc / nginx / sites-available / nucuta.net / etc / nginx / sites-enabled /
ponovno naloži nginx ali systemctl znova zaženi nginx.
Konfigurirajte zapise DNS
Konfiguriranje nastavitev DNS je odvisno od ponudnika DNS. Vendar imajo vsi ponudniki DNS podoben vmesnik. Registrar domene privzeto omogoča dostop do zapisov DNS. V tej fazi je potreben naslov IP strežnika, na katerem gosti spletni strežnik nginx. Pridobivanje naslova IP je v celoti odvisno od platforme. Platforme, kot so Linode, DigitalOcean, Vultr, prikazujejo IP na armaturni plošči. Če je težko najti, se obrnite na podporo zadevnega ponudnika storitev.
- V nastavitve DNS dodajte zapis »A« in kot strežnik uporabite IP strežnika vrednost, ime domene kot gostitelj. Poskrbite, da bo ime domene, ki ga uporablja tukaj, enako imenu domene, uporabljene v konfiguracijski datoteki Nginx. Po nastavitvi ene domene ponovite tudi za drugo domeno.
- Naj se posodabljajo zapisi DNS. Običajno traja do 24 ur, običajno pa je to storjeno v nekaj minutah.
Omogoči HTTPS
Omogočanje HTTPS je zelo preprosto in ga lahko brezplačno storite z letsencrypt. Letsencrypt je odprtokodni overitelj potrdil, ki spletnim mojstrom izda brezplačna potrdila SSL za šifriranje prometa na njihovi spletni strani.
- Namestite operacijski sistem z naslednjim ukazom. Upoštevajte, da bo ta segment namesto apt ali apt-get uporabil demon snap za namestitev vseh zahtevanih paketov. Snap je alternativno upravljanje paketov in orodje za uvajanje, ki ga lahko uporabite za namestitev paketov v Ubuntu in številne druge operacijske sisteme Linux. Tega ni treba namestiti, če imate Ubuntu 16.04 LTS ali katera koli druga višja različica. Kljub temu zaženite zadnji ukaz, da zagotovite, da je posnetek posodobljen. posodobitev sudo apt
- Namestite certbot, ki konfigurira in obnovi potrdila SSL za obe domeni. Brez certbota je treba SSL certifikate namestiti ročno. Poleg tega je treba obnovo opraviti tudi ročno. To je lahko težava, saj potrdila letsencrypt potečejo po treh mesecih. Zato je treba certifikat SSL obnavljati enkrat na 3 mesece, da zagotovite pravilno delovanje spletnega mesta, kot je bilo pričakovano. Za enostavno namestitev certbota uporabite naslednji ukaz. sudo snap install --classic certbot
- Certbot je nameščen v imeniku / snap / bin / certbot. Če želite zagnati izvršljivo datoteko certbot skozi ukazno vrstico, ne da bi navedli njeno celotno pot, zaženite naslednji ukaz. Ustvari simbolno povezavo med snap / bin / certbot in / usr / bin / certbot imenikom, s čimer omogoča, da se izvršljiva datoteka certbot izvaja v vmesniku ukazne vrstice, ne da bi določila njeno celotno pot. sudo ln -s / snap / bin / certbot / usr / bin / certbot
- Primer sistema Nginx v sistemu konfigurirajte z naslednjim ukazom. Obstaja še en ukaz, ki pri konfiguriranju SSL neposredno cilja na določeno domeno. Drugi spodnji ukaz namesti in konfigurira potrdilo SSL za določeno ime domene. sudo certbot -nginx
- Za simulacijo postopka obnove zaženite naslednji ukaz. Dejanski ukaz brez zastavice -dry-run se izvede samodejno, saj certbot konfigurira cronjob za samodejni zagon ukaza po nekaj krat pozneje. Za zagotovitev, da lahko certbot brez kakršnih koli ovir podaljša potrdila, je treba opraviti preskus v suhem teku. sudo certbot obnovi - suho zaženi
sudo apt namestite snapd
jedro namestitve sudo snap; sudo snap osvežilno jedro
certbot --nginx -d nucuta.com
Zaključek
Konfiguriranje več imen domen v spletnem strežniku Nginx je precej enostavno, saj ponuja številne možnosti za poenostavitev postopka. Certbot omogoča namestitev potrdil SSL za več domen za spletni strežnik Nginx. Kot SSL potrdilo ta priročnik uporablja letsencrypt, ki zagotavlja SSL potrdila brezplačno za poljubno število domen. Edina slabost letsencrypta je njegova kratka življenjska doba, vendar certbot zagotavlja, da s samodejnim postopkom obnove spletnemu skrbniku ne bo problem.