Jinsi ya kufunga Seva ya Wavuti ya Nginx kwenye Ubuntu 20.04


Nginx ni chanzo huria, seva ya wavuti yenye utendakazi wa hali ya juu ambayo inaamuru sehemu kubwa ya soko katika mazingira ya uzalishaji. Ni seva ya wavuti nyepesi na dhabiti ambayo hutumiwa zaidi kukaribisha tovuti zenye watu wengi.

Soma Kuhusiana: Jinsi ya Kufunga Apache Web Server kwenye Ubuntu 20.04

Katika mwongozo huu, utajifunza jinsi ya kusakinisha seva ya wavuti ya Nginx na kusanidi kizuizi cha seva cha Nginx (wenyeji halisi) kwenye Ubuntu 20.04 LTS.

Ili kuanza, hakikisha kuwa una mfano wa Ubuntu 20.04 LTS na ufikiaji wa SSH na mtumiaji wa Sudo aliye na haki za mizizi. Kwa kuongeza, uunganisho thabiti wa mtandao unapendekezwa ili kufunga vifurushi vya Nginx.

Kufunga Nginx kwenye Ubuntu 20.04

1. Kabla ya kusakinisha Nginx, sasisha orodha za vifurushi vya seva yako.

$ sudo apt update

2. Kisha sakinisha Nginx kwa kuendesha amri:

$ sudo apt install nginx

Unapoombwa kuendelea, bonyeza Y kwenye kibodi na ugonge ENTER. Ufungaji utafanywa kwa sekunde chache tu.

3. Kwa kusakinishwa kwa Nginx kwa ufanisi, unaweza kuianzisha na kuithibitisha kwa kuendesha:

$ sudo systemctl start nginx
$ sudo systemctl status nginx

Matokeo hapo juu yanaonyesha wazi kuwa Nginx inafanya kazi.

4. Kuangalia toleo la Nginx, endesha:

$ sudo dpkg -l nginx

Matokeo yanaonyesha kuwa tunaendesha Nginx 1.17.10 ambalo ni toleo la hivi punde wakati wa kuandika nakala hii.

Fungua Bandari za Nginx kwenye UFW Firewall

Kwa kuwa sasa umesakinisha Nginx na kufanya kazi kama inavyotarajiwa, marekebisho machache yanahitajika ili Nginx ipatikane kupitia kivinjari cha wavuti. Ikiwa unaendesha ngome ya UFW, unahitaji kuruhusu wasifu wa programu ya Nginx.

Kuna wasifu 3 wa Nginx unaohusishwa na ufw firewall.

  1. Nginx Imejaa - Hii itafungua mlango 80 na 443 (Kwa usimbaji fiche wa SSL/TLS).
  2. Nginx HTTP - Hii inafungua lango 80 pekee (Kwa trafiki ya wavuti ambayo haijasimbwa).
  3. Nginx HTTPS - Hufungua lango 443 pekee (Kwa usimbaji fiche wa SSL/TLS).

5. Anza kwa kuwezesha ngome kwenye Ubuntu 20.04.

$ sudo ufw enable

6. Kwa sasa, kwa kuwa hatuko kwenye seva iliyosimbwa kwa njia fiche, tutaruhusu tu wasifu wa Nginx HTTP ambao utaruhusu trafiki kwenye bandari 80.

$ sudo ufw allow 'Nginx HTTP'

7. Kisha pakia upya ngome ili mabadiliko yaendelee.

$ sudo ufw reload

8. Sasa angalia hali ya firewall ili kuthibitisha wasifu ambao umeruhusiwa.

$ sudo ufw status

Kujaribu Nginx kwenye Ubuntu 20.04

Nginx inaendesha kwenye kivinjari kama unavyotarajia na seva yoyote ya wavuti na njia ya uhakika ya kujaribu ikiwa inafanya kazi kama inavyotarajiwa ni kutuma maombi kupitia kivinjari.

9. Kwa hivyo nenda kwenye kivinjari chako na uvinjari anwani ya IP ya seva au jina la kikoa. Kuangalia IP ya seva yako, endesha ifconfig amri:

$ ifconfig

10. Ikiwa uko kwenye seva ya wingu, endesha amri ya curl hapa chini ili kurejesha IP ya umma ya seva.

$ curl ifconfig.me

11. Kwenye uga wa URL ya kivinjari chako, weka anwani ya IP ya seva yako au jina la kikoa na ugonge ENTER.

http://server-IP or domain-name

Unapaswa kupata ukurasa wa kukaribisha wa Nginx kama inavyoonyeshwa.

Dhibiti Mchakato wa Nginx katika Ubuntu 20.04

12. Kusimamisha seva ya wavuti ya Nginx, endesha tu:

$ sudo systemctl stop nginx

13. Ili kuleta seva ya tovuti tena tekeleza:

$ sudo systemctl start nginx

14. Kuanzisha Nginx kiotomatiki kwenye buti au kuwasha upya endesha:

$ sudo systemctl enable nginx

15. Ikiwa unataka kuanzisha upya seva ya wavuti hasa baada ya kufanya mabadiliko kwenye faili za usanidi, endesha:

$ sudo systemctl restart nginx

16. Vinginevyo, unaweza kupakia upya ili kuepuka kuacha miunganisho kama inavyoonyeshwa.

$ sudo systemctl reload nginx

Kusanidi Kizuizi cha Seva ya Nginx katika Ubuntu 20.04

Ikiwa unapanga kupangisha tovuti zaidi ya moja kwenye seva yako, basi kusanidi kizuizi cha Seva ya Nginx kunakuja kupendekezwa sana. Kizuizi cha seva ni sawa na seva pangishi pepe ya Apache.

Kwa chaguo-msingi, Nginx husafirisha kwa seva yake chaguomsingi ambayo imewekwa ili kutoa maudhui ya wavuti kwenye njia ya /var/www/html.

Tutaunda kizuizi tofauti cha Nginx ili kutumikia yaliyomo kwenye kikoa chetu. Kwa mwongozo huu, tutatumia kikoa crazytechgeek.info.
Kwa kesi yako, hakikisha unabadilisha hii na jina lako la kikoa.

17. Kuunda faili ya kuzuia seva, Kwanza, tengeneza saraka ya kikoa chako kama inavyoonyeshwa.

$ sudo mkdir -p /var/www/crazytechgeek.info/html

18. Kisha, kabidhi umiliki orodha mpya kwa kutumia $USER tofauti.

$ sudo chown -R $USER:$USER /var/www/crazytechgeek.info/html

19. Hakikisha pia unapeana ruhusa za saraka ipasavyo kumruhusu mmiliki kuwa na ruhusa zote (kusoma, kuandika na kutekeleza) na kuwapa washirika wengine ruhusa za kusoma na kutekeleza pekee.

$ sudo chmod -R 755 /var/www/crazytechgeek.info

20. Ndani ya saraka ya kikoa, tengeneza index.html faili ambayo itakuwa na maudhui ya wavuti ya kikoa.

$ sudo vim /var/www/crazytechgeek.info/html/index.html

Bandika maudhui hapa chini kwenye sampuli ya faili ya majaribio.

<html>
    <head>
        <title>Welcome to your_domain!</title>
    </head>
    <body>
        <h1>Bravo! Your server block is working as expected!</h1>
    </body>
</html>

Hifadhi mabadiliko na uondoke kwenye faili.

21. Ili seva ya wavuti ya Nginx itumie maudhui ambayo umeongeza hivi punde, unahitaji kuunda kizuizi cha seva na maagizo yanayofaa. Katika kesi hii, tuliunda kizuizi kipya cha seva kwa:

$ sudo vim /etc/nginx/sites-available/crazytechgeek.info

Bandika usanidi ulioonyeshwa.

server {
        listen 80;
        listen [::]:80;

        root /var/www/crazytechgeek.info/html;
        index index.html index.htm index.nginx-debian.html;

        server_name crazytechgeek.info  www.crazytechgeek.info;

        location / {
                try_files $uri $uri/ =404;
        }
}

Hifadhi na uondoke.

22. Sasa washa faili ya kuzuia seva kwa kuiunganisha na saraka iliyowezeshwa na tovuti ambayo seva ya Nginx inasoma wakati wa kuanza.

$ sudo ln -s /etc/nginx/sites-available/crazytechgeek.info /etc/nginx/sites-enabled/

23. Ili mabadiliko yatekelezwe, anzisha upya seva ya wavuti ya Nginx.

$ sudo systemctl restart nginx

24. Ili tu kuwa na uhakika kwamba usanidi wote uko katika mpangilio, endesha amri:

$ nginx -t

Ikiwa usanidi wote uko katika mpangilio, unapaswa kupata matokeo yaliyoonyeshwa hapa chini:

25. Seva ya wavuti ya Nginx inapaswa sasa kutumikia maudhui ya kikoa chako. Kwa mara nyingine tena, nenda kwenye kivinjari chako na uvinjari kikoa cha seva yako.

http://domain-name

Maudhui yako maalum katika saraka ya kikoa chako yatatolewa kama inavyoonyeshwa.

Faili muhimu za Usanidi wa Nginx

Kabla ya kumalizia, ni muhimu tuchunguze baadhi ya faili muhimu za usanidi zinazohusiana na Nginx.

  • /etc/nginx/nginx.conf: Hili ndilo faili kuu la usanidi. Unaweza kurekebisha mipangilio ili kukidhi mahitaji ya seva yako.
  • /etc/nginx/sites-available: Hii ni saraka ambayo huhifadhi usanidi wa kuzuia seva. Nginx hutumia tu vizuizi vya seva ikiwa vimeunganishwa kwenye saraka inayowezeshwa na tovuti.
  • /etc/nginx/sites-enabled: Saraka ina vizuizi vya seva ya Nginx ambavyo tayari vimewashwa.

Kuna faili mbili kuu za kumbukumbu ambazo unaweza kutumia kusuluhisha seva yako ya wavuti ya Nginx:

  • /var/log/nginx/access.log: Hii inarekodi maombi yote yaliyotolewa kwa seva ya tovuti.
  • /var/log/nginx/error.log: Hili ni faili la kumbukumbu la makosa na hurekodi makosa yote ambayo Nginx hukumbana nayo.

Tumefika mwisho wa somo hili. Tumeonyesha jinsi unavyoweza kusakinisha Nginx kwenye Ubuntu 20.04 na jinsi unavyoweza kusanidi vizuizi vya seva ya Nginx ili kutumikia yaliyomo kwenye kikoa chako. Maoni yako yanakaribishwa.