Kun olet kirjoittanut koodin verkkosivustollesi tai verkkosovelluksellesi, tarvitset sen sijoitettavaksi johonkin paikkaan, jossa se voi suorittaa ja toimittaa sisältöä käyttäjillesi. Tässä kohtaa web-palvelinohjelmisto tulee kuvaan. Yksinkertainen Google-haku web-palvelinohjelmistosta tuo sinulle melkoisen listan ratkaisuja, joista valita.
tässä opetusohjelmassa keskitymme Nginxiin; ja erityisesti siihen, miten voit saada sen toimimaan Ubuntu 18.04: ssä. Nginx on yksi maailman suosituimmista web-palvelinohjelmistoista. Itse asiassa se vie paikan viiden parhaan joukossa Opensource.com rankingissa. Se vastaa Internetin vilkkaimpien sivustojen saatavuudesta ja skaalautuvuudesta. Se takaa turvallisuuden ja voit käyttää sitä käänteisenä välityspalvelimena. Joten, miten voit asentaa nginx Ubuntu 18.04?
edellytykset
tietenkin sinulla on jo tietokone, joka käyttää Ubuntu 18.0.4: ää; ja sinulla on ei-root-käyttäjä, jolla on sudo-oikeudet. Jos ei, pään yli tämän linkin ladata Ubuntu 18.0.4, sitten seuraa oppaita alkuperäisen palvelimen asennuksen Ubuntu luoda Ei-root tilin. Kun sinulla on tili, sinun täytyy kirjautua sisään ei-root-käyttäjänä, ja sitten voimme edetä seuraaviin vaiheisiin.
Vaihe 1 – Asenna nginx
Ubuntu perustuu Debianiin. Deb-pakettien asentamiseksi komentoriviltä voi käyttää joko apt-tai dpkg-komentoja. Käytämme apt-komentoa, koska se on suositumpi. Apt-komennon avulla käyttäjät voivat asentaa paketteja, jotka ovat saatavilla heidän käyttämänsä Linux-jakelun oletusvarastoista. Tässä tapauksessa meillä on Nginx käytettävissä Ubuntu 18.04: n oletusvarastoissa, joten voimme jatkaa. Nyrkkisääntönä on, että nyt ja asennettaessa mitä tahansa pakettia Linux-jakeluun, sinun on ensin päivitettävä; Kirjoita päätteeseen seuraava komento päivittääksesi:
sudo apt update
asentaaksesi Nginxin, anna seuraava komento:
sudo apt install nginx
noudata ohjeita, ja Nginx asennetaan palvelimellesi yhdessä tarvittavien riippuvuuksien kanssa.
Vaihe 2 – Säädä palomuuri
Ubuntun palomuurin oletustyökalu on UFW. UFW tarkoittaa mutkatonta palomuuria ja se on kehitetty helpottamaan palomuurin konfigurointia. Oletusarvoisesti nginx rekisteröityy palveluksi UFW: n kanssa asennuksen jälkeen, mikä helpottaa Nginx access-konfigurointia. Ota ensin UFW käyttöön antamalla seuraava komento:
sudo ufw enable
seuraava komento listaa UFW: n salliman sovelluskokoonpanon:
sudo ufw app list
tässä on screengrab siitä, miltä päätteesi saattaa näyttää:
siinä näkyy 3 nginxille saatavilla olevaa profiilia. Ne on kuvattu alla:
- nginx Full – se avaa sekä portin 80 että 443. Portti 80 on tarkoitettu normaalille / salaamattomalle liikenteelle eli http: lle. Portti 443 on TLS / SSL – salattua liikennettä varten. ts.https.
- nginx HTTP – se avaa portin 80 vain.
- nginx HTTPS – se avaa portin 443 vain.
suosituksena sinun tulisi ottaa käyttöön vain Profiili, joka sallii verkkosovelluksellesi määrittämäsi liikenteen. Tässä tapauksessa menemme nginx HTTP (portti 80), koska emme ole määrittäneet SSL. Seuraava komento mahdollistaa tämän:
sudo ufw allow 'Nginx HTTP'sudo ufw allow 'OpenSSH'
tarkistaaksesi muutoksen, anna seuraava komento:
sudo ufw status
päätteessäsi pitäisi näkyä jotain vastaavaa kuin alla olevassa screengrabissa. Huomaa, että HTTP – liikenne on sallittu kaikkialla:
Vaihe 3-Web-palvelimen tarkistaminen
kun Nginx on asennettu Ubuntu 18.04: ään, palvelu käynnistyy automaattisesti. Voit testata tätä kirjoittamalla päätteeseesi seuraavan komennon:
systemctl status nginx
päätteesi pitäisi näyttää jotain tällaista:
Tämä osoittaa, että palvelu käynnistyi automaattisesti ja että se on käynnissä. Kuten jo tiedätte, palvelinohjelmistojen päätarkoitus on palvella sisältöä. Jotta testata tätä tarkoitusta sinun täytyy pyytää sivun. Voit tehdä tämän avaamalla palvelimesi IP-osoitteen selaimesta, jonka pitäisi näyttää oletus nginx-aloitussivu. Jos et tiedä palvelimesi IP-osoitetta, alla on joitakin komentoja, joiden avulla voit saada sen:
ip addr show ens3 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'
alla on toinen komento, jota voit käyttää. Se antaa sinulle julkisen IP-osoitteen Internetin sijainneista nähtynä:
curl -4 icanhazip.com
ensimmäinen komento antaa sinulle osoitteen alla olevan päätteen mukaisesti. Kopioi ja testaa se seuraavaksi selaimessasi:
selaimesi lataa oletussivun, joka näyttää seuraavalta kuvakaappaukselta. Se osoittaa, että Nginx – palvelimesi on todella käynnissä:
Step 4-Basic nginx Management-komennot
olet jo nähnyt komennon, joka tarkistaa Nginxin tilan:
systemctl status nginx
nyt kun palvelin on toiminnassa, tässä on muutamia komentoja, jotka kannattaa pitää käsillä nginx-palvelun hallitsemiseksi. Nämä komennot toimivat Ubuntu 18.04: n lisäksi myös kaikissa Linux-jakeluissa.
pysäyttääksesi palvelimen, kirjoita seuraava komento:
sudo systemctl stop nginx
käynnistääksesi palvelimen, kirjoita seuraava komento:
sudo systemctl start nginx
aina kun teet merkittäviä muutoksia, kuten vaihtaessasi portteja tai rajapintoja, sinun on käynnistettävä WWW-palvelin uudelleen. Alla oleva komento käynnistää palvelimen uudelleen:
sudo systemctl restart nginx
aina kun teet pieniä kokoonpanomuutoksia, kuten muokkaat palvelinlohkoja, Nginx voi ladata uudelleen ilman yhteyksien pudottamista. Tässä on komento ladata uudelleen:
sudo systemctl reload nginx
nginx käynnistää palvelimen automaattisesti, kun Ubuntu OS käynnistyy. Jos haluat kuitenkin muuttaa tätä asetusta, voit poistaa palvelun käytöstä syöttämällä alla olevan komennon:
sudo systemctl disable nginx
ja voit ottaa palvelun uudelleen käyttöön automaattisesti, kun käynnistät koneen seuraavan kerran syöttämällä:
sudo systemctl enable nginx
Vaihe 5 – Palvelinlohkojen määrittäminen
saatat haluta isännöidä useita verkkosivustoja (verkkotunnuksia) yhdellä www-palvelimella. Palvelinlohkot auttaisivat sinua saavuttamaan tämän. Jos olet käyttänyt Apachea aiemmin, palvelinlohkoja Nginxissä voi verrata Apache Vhostsiin. Nginx mukana tulee yksi palvelinlohko, joka on määritetty toimimaan hakemistosta / var/www / html, joka latasi nginx-oletussivun yllä olevaan osioon. Tämä palvelinlohko on kunnossa, kun ajetaan yhtä sivustoa. Monien sivustojen pyörittäminen tulee kuitenkin olemaan ongelma.
haluamme luoda toisen sivuston samalle palvelimelle ja soittaa sille samplesite.com (tämä on vain esimerkki, sinun pitäisi korvata se omalla verkkotunnuksella).
luo /var / www / – hakemiston sisälle toinen hakemisto samplesite.com. jätä oletusarvo / var/www / html palvelemaan pyyntöjä, jotka eivät vastaa mitään muuta sivustoa. Alla oleva komento luo hakemiston samplesite.com kuten olemme kuvanneet. – P-lipulla varmistetaan, että komento luo tarvittavat ylähakemistot:
sudo mkdir -p /var/www/samplesite.com/html
salliaksesi pääsyn hakemistoon, sinun täytyy määrittää omistus $USER environment-muuttujalla:
sudo chown -R $USER:$USER /var/www/samplesite.com/html
tarkistaaksesi, että verkkojuuriesi käyttöoikeudet ovat oikein, anna seuraava komento:
sudo chmod -R 755 /var/www/samplesite.com
Seuraava, anna yritä luoda yksinkertainen indeksi.html: ssä samplesite.com Hakemisto. Voit avata nano-muokkaimen seuraavasti:
nano /var/www/samplesite.com/html/index.html
komento avaa muokkaimen päätteessäsi, lisää seuraava koodi:
<html><head><title>Welcome to samplesite.com!</title></head><body><h1>Success! The samplesite.com server block is running fine!</h1></body></html>
Kirjoita Ctrl + O ja tallenna tiedosto painamalla Enter. Sulje editori kirjoittamalla Ctrl + X.
tämän jälkeen voit luoda palvelinlohkon. Oletusasetustiedoston muokkaamisen ja sotkemisen sijaan on suositeltavaa tehdä uusi tiedosto osoitteessa /etc/nginx/sites-available/samplesite.com. syötä seuraava komento nano-muokkaimen avaamiseksi:
sudo nano /etc/nginx/sites-available/samplesite.com
muokkaimessa, syötä seuraava koodi, jota on muokattu luomaasi hakemistoon. Huomaa juurinimi ja server_nimi täsmää hakemistoomme ja verkkotunnukseen, jota haluamme palvella:
server { listen IP_ADDRESS:80; listen :80; root /var/www/samplesite.com/html; index index.html index.htm index.nginx-debian.html; server_name samplesite.com samplesite.com; location / { try_files $uri $uri/ =404; }}
Seuraava, Tallenna ja sulje tiedosto.
nginx lukee asetustiedostot sivustoja tukevasta hakemistosta, joten sinun on luotava symbolinen linkki uudesta palvelinlohkosta sivustoja tukevalle hakemistolle. Seuraava komento tekee sen:
sudo ln -s /etc/nginx/sites-available/samplesite.com /etc/nginx/sites-enabled/
sinulla on nyt kaksi palvelinlohkoa, jotka voivat palvella kahta verkkosivustoa yhdellä Nginx-palvelimella.
seuraava komento vastaa verkkotunnusten pyyntöihin samplesite.com ja www.samplesite.com.
curl samplesite.com
ja oletusarvoinen vastaa kaikkiin pyyntöihin, jotka osuvat porttiin 80 ja jotka eivät vastaa mitään kahdesta palvelinlohkosta:Nginx-palvelimellasi saattaa todennäköisesti ilmetä hash bucket-muistiongelma lisättäessä lisää palvelinlohkoja. Tämän välttämiseksi, sinun pitäisi säätää yhden tiedoston nginx.conf-tiedosto. Avaa tiedosto seuraavaksi nano-editorilla:
sudo nano /etc/nginx/nginx.conf
sitten, Etsi direktiivi: server_names_hash_bucket_size ja poista # – symboli sen poistamiseksi, joten se näyttää tältä:
http { server_names_hash_bucket_size 64;}
Seuraava, Tallenna ja sulje tiedosto.
testataksesi, ettei kaikissa nginx-tiedostoissasi ole virheitä, sinun tulee syöttää seuraava komento:
sudo nginx -t
Jos kaikki on kunnossa, sinun tulee nähdä jotain tällaista:
ennen kuin asetusmuutokset tulevat voimaan, sinun täytyy ensin käynnistää nginx-palvelin alla olevalla komennolla:
sudo systemctl restart nginx
nyt, Syötä verkkotunnus ja sinun pitäisi nähdä luomamme HTML-sivu.
Vaihe 6 – tärkeät nginx–tiedostot ja hakemistot, jotka sinun tulisi tietää
- Main content directory
– /var / www / html: Nginx-oletussivu on tallennettu tähän hakemistoon. Se on todellinen sisältö, jonka näet, kun käytät palvelimen IP-osoitetta. Voit muuttaa tätä käyttäytymistä muuttamalla Nginx-asetustiedostoja.
- nginx– asetuskansiot
– /etc / nginx: pääkansio, joka sisältää kaikki nginx-asetustiedostot.
–/etc/nginx / nginx.conf: tärkein nginx-asetustiedosto, jota voidaan muuttaa maailmanlaajuisten muutosten tekemiseksi nginx-palvelimella.
–/etc/nginx/ sites-available/: se on hakemisto, johon tallennat sivustokohtaisia palvelinlohkoja. Kaikki palvelinlohkot ovat tässä kansiossa. Symbolinen linkki yhdistää ne sivustoja käyttävään hakemistoon. Jos luettelemme Tämän johtajan sisällön, meidän pitäisi nähdä luomamme palvelinlohko sekä oletus nginx-palvelinlohko.
–/etc/nginx/ sites-enabled/: enable per-site server-lohkot ovat olemassa tässä hakemistossa. Ne linkitetään sites-available-hakemiston varsinaisiin asetustiedostoihin.
– /etc/nginx/ snippets/: kansio, johon tallennat muihin kokoonpanoihin liitettäviä määrityspätkiä – esim. toistuvia asetuspalikoita.
- palvelinlokit
–/var/log/nginx / access.loki: tämä tiedosto tallentaa jokaisen palvelimeesi osuvan pyynnön, ellet ole määrittänyt Nginxiä tallentamaan toiseen tiedostoon tai tekemään jotain muuta.
– / var / log/nginx / error.loki: tämä tiedosto tallentaa kaikki nginx-virheet. Tämä on, jos tulet vianmääritys, kun palvelin ei ole käynnissä odotetulla tavalla.
johtopäätös
olemme tulleet matkan päähän. Olet asentanut Nginxin Ubuntu 18: aan.04, määritetty palomuurit, määritetty palvelinlohkot ja varmistettu sivustot ovat käytettävissä selaimessasi. Onnitteluni! Nyt sinun on selvitettävä, mitä sisältöä haluat tarjota käyttäjillesi.
Happy Computing!