ഉബുണ്ടു 20.04-ൽ Nginx വെബ് സെർവർ എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം


Nginx ഒരു ഓപ്പൺ സോഴ്uസ്, ഉയർന്ന പ്രകടനമുള്ള വെബ് സെർവറാണ്, അത് ഉൽപ്പാദന പരിതസ്ഥിതികളിൽ വലിയ വിപണി വിഹിതം കൽപ്പിക്കുന്നു. ഉയർന്ന ട്രാഫിക്കുള്ള വെബ്uസൈറ്റുകൾ ഹോസ്റ്റുചെയ്യുന്നതിന് കൂടുതലും ഉപയോഗിക്കുന്ന ഭാരം കുറഞ്ഞതും കരുത്തുറ്റതുമായ വെബ് സെർവറാണിത്.

അനുബന്ധ വായന: ഉബുണ്ടു 20.04-ൽ അപ്പാച്ചെ വെബ് സെർവർ എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം

ഈ ഗൈഡിൽ, ഉബുണ്ടു 20.04 LTS-ൽ Nginx വെബ് സെർവർ എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാമെന്നും Nginx സെർവർ ബ്ലോക്ക് (വെർച്വൽ ഹോസ്റ്റുകൾ) കോൺഫിഗർ ചെയ്യാമെന്നും നിങ്ങൾ പഠിക്കും.

ആരംഭിക്കുന്നതിന്, നിങ്ങൾക്ക് SSH ആക്uസസ് ഉള്ള ഉബുണ്ടു 20.04 LTS ഉം റൂട്ട് പ്രത്യേകാവകാശങ്ങളുള്ള ഒരു സുഡോ ഉപയോക്താവും ഉണ്ടെന്ന് ഉറപ്പാക്കുക. കൂടാതെ, Nginx പാക്കേജുകൾ ഇൻസ്റ്റാൾ ചെയ്യുന്നതിന് സ്ഥിരമായ ഒരു ഇന്റർനെറ്റ് കണക്ഷൻ ശുപാർശ ചെയ്യുന്നു.

ഉബുണ്ടു 20.04-ൽ Nginx ഇൻസ്റ്റാൾ ചെയ്യുന്നു

1. Nginx ഇൻസ്റ്റാൾ ചെയ്യുന്നതിനുമുമ്പ്, നിങ്ങളുടെ സെർവറിന്റെ പാക്കേജ് ലിസ്റ്റുകൾ അപ്ഡേറ്റ് ചെയ്യുക.

$ sudo apt update

2. തുടർന്ന് കമാൻഡ് പ്രവർത്തിപ്പിച്ച് Nginx ഇൻസ്റ്റാൾ ചെയ്യുക:

$ sudo apt install nginx

തുടരാൻ ആവശ്യപ്പെടുമ്പോൾ, കീബോർഡിൽ Y അമർത്തി ENTER അമർത്തുക. ഏതാനും നിമിഷങ്ങൾക്കുള്ളിൽ ഇൻസ്റ്റലേഷൻ പൂർത്തിയാകും.

3. Nginx വിജയകരമായി ഇൻസ്റ്റാൾ ചെയ്താൽ, പ്രവർത്തിപ്പിച്ച് നിങ്ങൾക്ക് ഇത് ആരംഭിക്കാനും പരിശോധിക്കാനും കഴിയും:

$ sudo systemctl start nginx
$ sudo systemctl status nginx

മുകളിലുള്ള ഔട്ട്uപുട്ട് Nginx പ്രവർത്തിക്കുന്നുവെന്ന് വ്യക്തമായി സൂചിപ്പിക്കുന്നു.

4. Nginx-ന്റെ പതിപ്പ് പരിശോധിക്കാൻ, പ്രവർത്തിപ്പിക്കുക:

$ sudo dpkg -l nginx

ഈ ലേഖനം എഴുതുന്ന സമയത്തെ ഏറ്റവും പുതിയ പതിപ്പായ Nginx 1.17.10 ഞങ്ങൾ പ്രവർത്തിപ്പിക്കുന്നുവെന്ന് ഔട്ട്uപുട്ട് സൂചിപ്പിക്കുന്നു.

UFW ഫയർവാളിൽ Nginx പോർട്ടുകൾ തുറക്കുക

ഇപ്പോൾ നിങ്ങൾ Nginx ഇൻസ്റ്റാൾ ചെയ്യുകയും പ്രതീക്ഷിച്ചതുപോലെ പ്രവർത്തിക്കുകയും ചെയ്uതു, ഒരു വെബ് ബ്രൗസർ വഴി Nginx ആക്uസസ് ചെയ്യുന്നതിന് കുറച്ച് ക്രമീകരണങ്ങൾ ആവശ്യമാണ്. നിങ്ങൾ UFW ഫയർവാൾ പ്രവർത്തിപ്പിക്കുകയാണെങ്കിൽ, നിങ്ങൾ Nginx ആപ്ലിക്കേഷൻ പ്രൊഫൈൽ അനുവദിക്കേണ്ടതുണ്ട്.

ufw ഫയർവാളുമായി ബന്ധപ്പെട്ട 3 Nginx പ്രൊഫൈലുകൾ ഉണ്ട്.

  1. Nginx Full - ഇത് പോർട്ട് 80 & 443 (SSL/TLS എൻക്രിപ്ഷനു വേണ്ടി) തുറക്കുന്നു.
  2. Nginx HTTP - ഇത് പോർട്ട് 80 മാത്രം തുറക്കുന്നു (എൻക്രിപ്റ്റ് ചെയ്യാത്ത വെബ് ട്രാഫിക്കിന്).
  3. Nginx HTTPS – പോർട്ട് 443 മാത്രം തുറക്കുന്നു (SSL/TLS എൻക്രിപ്ഷനു വേണ്ടി).

5. ഉബുണ്ടു 20.04-ൽ ഫയർവാൾ പ്രവർത്തനക്ഷമമാക്കിക്കൊണ്ട് ആരംഭിക്കുക.

$ sudo ufw enable

6. ഇപ്പോൾ, ഞങ്ങൾ ഒരു എൻക്രിപ്റ്റ് ചെയ്ത സെർവറിൽ അല്ലാത്തതിനാൽ, പോർട്ട് 80-ൽ ട്രാഫിക് അനുവദിക്കുന്ന Nginx HTTP പ്രൊഫൈൽ മാത്രമേ ഞങ്ങൾ അനുവദിക്കൂ.

$ sudo ufw allow 'Nginx HTTP'

7. മാറ്റങ്ങൾ നിലനിൽക്കുന്നതിനായി ഫയർവാൾ വീണ്ടും ലോഡുചെയ്യുക.

$ sudo ufw reload

8. ഇപ്പോൾ അനുവദിച്ചിരിക്കുന്ന പ്രൊഫൈലുകൾ പരിശോധിക്കാൻ ഫയർവാളിന്റെ നില പരിശോധിക്കുക.

$ sudo ufw status

ഉബുണ്ടു 20.04-ൽ Nginx പരിശോധിക്കുന്നു

ഏത് വെബ് സെർവറിലും നിങ്ങൾ പ്രതീക്ഷിക്കുന്നതുപോലെ Nginx ബ്രൗസറിൽ പ്രവർത്തിക്കുന്നു, അത് പ്രതീക്ഷിച്ചതുപോലെ പ്രവർത്തിക്കുന്നുണ്ടോയെന്ന് പരിശോധിക്കുന്നതിനുള്ള ഏറ്റവും ഉറപ്പായ മാർഗം ഒരു ബ്രൗസർ വഴി അഭ്യർത്ഥനകൾ അയയ്ക്കുക എന്നതാണ്.

9. അതിനാൽ നിങ്ങളുടെ ബ്രൗസറിലേക്ക് പോയി സെർവറിന്റെ IP വിലാസമോ ഡൊമെയ്uൻ നാമമോ ബ്രൗസ് ചെയ്യുക. നിങ്ങളുടെ സെർവറിന്റെ IP പരിശോധിക്കുന്നതിന്, ifconfig കമാൻഡ് പ്രവർത്തിപ്പിക്കുക:

$ ifconfig

10. നിങ്ങളൊരു ക്ലൗഡ് സെർവറിലാണെങ്കിൽ, സെർവറിന്റെ പൊതു ഐപി വീണ്ടെടുക്കാൻ താഴെയുള്ള curl കമാൻഡ് പ്രവർത്തിപ്പിക്കുക.

$ curl ifconfig.me

11. നിങ്ങളുടെ ബ്രൗസറിന്റെ URL ഫീൽഡിൽ, നിങ്ങളുടെ സെർവറിന്റെ IP വിലാസമോ ഡൊമെയ്uൻ നാമമോ നൽകി ENTER അമർത്തുക.

http://server-IP or domain-name

കാണിച്ചിരിക്കുന്നതുപോലെ നിങ്ങൾക്ക് ഒരു ഡിഫോൾട്ട് Nginx സ്വാഗത പേജ് ലഭിക്കും.

ഉബുണ്ടു 20.04-ൽ Nginx പ്രോസസ്സ് നിയന്ത്രിക്കുക

12. Nginx വെബ് സെർവർ നിർത്താൻ, പ്രവർത്തിപ്പിക്കുക:

$ sudo systemctl stop nginx

13. വെബ്സെർവർ വീണ്ടും മുകളിലേക്ക് കൊണ്ടുവരാൻ എക്സിക്യൂട്ട് ചെയ്യുക:

$ sudo systemctl start nginx

14. ബൂട്ട് അല്ലെങ്കിൽ റീബൂട്ട് റണ്ണിൽ Nginx യാന്ത്രികമായി ആരംഭിക്കുന്നതിന്:

$ sudo systemctl enable nginx

15. കോൺഫിഗറേഷൻ ഫയലുകളിൽ മാറ്റങ്ങൾ വരുത്തിയ ശേഷം നിങ്ങൾക്ക് വെബ്സെർവർ പുനരാരംഭിക്കണമെങ്കിൽ, പ്രവർത്തിപ്പിക്കുക:

$ sudo systemctl restart nginx

16. പകരമായി, കാണിച്ചിരിക്കുന്നതുപോലെ കണക്ഷനുകൾ ഡ്രോപ്പ് ചെയ്യാതിരിക്കാൻ നിങ്ങൾക്ക് റീലോഡ് ചെയ്യാം.

$ sudo systemctl reload nginx

ഉബുണ്ടു 20.04-ൽ Nginx സെർവർ ബ്ലോക്ക് കോൺഫിഗർ ചെയ്യുന്നു

നിങ്ങളുടെ സെർവറിൽ ഒന്നിലധികം സൈറ്റുകൾ ഹോസ്റ്റുചെയ്യാൻ നിങ്ങൾ പദ്ധതിയിടുകയാണെങ്കിൽ, ഒരു Nginx സെർവർ ബ്ലോക്ക് സജ്ജീകരിക്കുന്നത് വളരെ ശുപാർശ ചെയ്യപ്പെടുന്നു. സെർവർ ബ്ലോക്ക് അപ്പാച്ചെയുടെ വെർച്വൽ ഹോസ്റ്റിന് തുല്യമാണ്.

സ്ഥിരസ്ഥിതിയായി, /var/www/html പാതയിൽ വെബ് ഉള്ളടക്കം നൽകുന്നതിന് സജ്ജമാക്കിയിട്ടുള്ള അതിന്റെ സ്ഥിരസ്ഥിതി സെർവർ ബ്ലോക്ക് Nginx ഷിപ്പ് ചെയ്യുന്നു.

ഞങ്ങളുടെ ഡൊമെയ്uനിന്റെ ഉള്ളടക്കം നൽകുന്നതിന് ഞങ്ങൾ ഒരു പ്രത്യേക Nginx ബ്ലോക്ക് സൃഷ്uടിക്കാൻ പോകുന്നു. ഈ ഗൈഡിനായി, ഞങ്ങൾ crazytechgeek.info എന്ന ഡൊമെയ്uൻ ഉപയോഗിക്കാൻ പോകുന്നു.
നിങ്ങളുടെ കാര്യത്തിൽ, ഇത് നിങ്ങളുടെ സ്വന്തം ഡൊമെയ്ൻ നാമം ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കുന്നുവെന്ന് ഉറപ്പാക്കുക.

17. ഒരു സെർവർ ബ്ലോക്ക് ഫയൽ സൃഷ്uടിക്കുന്നതിന്, ആദ്യം, കാണിച്ചിരിക്കുന്നതുപോലെ നിങ്ങളുടെ ഡൊമെയ്uനിനായി ഒരു ഡയറക്uടറി സൃഷ്uടിക്കുക.

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

18. അടുത്തതായി, $USER വേരിയബിൾ ഉപയോഗിച്ച് പുതിയ ഡയറക്ടറിയിലേക്ക് ഉടമസ്ഥാവകാശം നൽകുക.

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

19. എല്ലാ അനുമതികളും (വായിക്കുക, എഴുതുക, നടപ്പിലാക്കുക) ഉടമയെ അനുവദിക്കുകയും മറ്റ് കക്ഷികൾക്ക് വായിക്കാനും നടപ്പിലാക്കാനുമുള്ള അനുമതികൾ മാത്രം നൽകിക്കൊണ്ട് നിങ്ങൾ ഡയറക്uടറി അനുമതികൾ നൽകുന്നുവെന്ന് ഉറപ്പാക്കുക.

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

20. ഡൊമെയ്uൻ ഡയറക്uടറിക്കുള്ളിൽ, ഡൊമെയ്uനിന്റെ വെബ് ഉള്ളടക്കം ഉൾക്കൊള്ളുന്ന ഒരു index.html ഒരു ഫയൽ സൃഷ്uടിക്കുക.

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

സാമ്പിൾ ടെസ്റ്റിംഗ് ഫയലിലേക്ക് ചുവടെയുള്ള ഉള്ളടക്കം ഒട്ടിക്കുക.

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

മാറ്റങ്ങൾ സംരക്ഷിച്ച് ഫയലിൽ നിന്ന് പുറത്തുകടക്കുക.

21. നിങ്ങൾ ഇപ്പോൾ ചേർത്ത ഉള്ളടക്കം Nginx വെബ്uസെർവറിന് നൽകുന്നതിന്, ഉചിതമായ നിർദ്ദേശങ്ങളോടെ നിങ്ങൾ ഒരു സെർവർ ബ്ലോക്ക് സൃഷ്uടിക്കേണ്ടതുണ്ട്. ഈ സാഹചര്യത്തിൽ, ഞങ്ങൾ ഇവിടെ ഒരു പുതിയ സെർവർ ബ്ലോക്ക് സൃഷ്ടിച്ചു:

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

കാണിച്ചിരിക്കുന്ന കോൺഫിഗറേഷൻ ഒട്ടിക്കുക.

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;
        }
}

സംരക്ഷിച്ച് പുറത്തുകടക്കുക.

22. ഇപ്പോൾ Nginx സെർവർ സ്റ്റാർട്ടപ്പിൽ വായിക്കുന്ന സൈറ്റുകൾ-പ്രാപ്uതമാക്കിയ ഡയറക്ടറിയിലേക്ക് ലിങ്ക് ചെയ്uത് സെർവർ ബ്ലോക്ക് ഫയൽ പ്രവർത്തനക്ഷമമാക്കുക.

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

23. മാറ്റങ്ങൾ വരുത്തുന്നതിന്, Nginx വെബ്സെർവർ പുനരാരംഭിക്കുക.

$ sudo systemctl restart nginx

24. എല്ലാ കോൺഫിഗറേഷനുകളും ക്രമത്തിലാണെന്ന് ഉറപ്പാക്കാൻ, കമാൻഡ് പ്രവർത്തിപ്പിക്കുക:

$ nginx -t

എല്ലാ കോൺഫിഗറേഷനുകളും ക്രമത്തിലാണെങ്കിൽ, താഴെ കാണിച്ചിരിക്കുന്ന ഔട്ട്പുട്ട് നിങ്ങൾക്ക് ലഭിക്കും:

25. Nginx വെബ് സെർവർ ഇപ്പോൾ നിങ്ങളുടെ ഡൊമെയ്uനിന്റെ ഉള്ളടക്കം നൽകണം. ഒരിക്കൽ കൂടി, നിങ്ങളുടെ ബ്രൗസറിലേക്ക് പോയി നിങ്ങളുടെ സെർവറിന്റെ ഡൊമെയ്uൻ ബ്രൗസ് ചെയ്യുക.

http://domain-name

നിങ്ങളുടെ ഡൊമെയ്uനിന്റെ ഡയറക്uടറിയിലെ നിങ്ങളുടെ ഇഷ്uടാനുസൃത ഉള്ളടക്കം കാണിച്ചിരിക്കുന്നതുപോലെ നൽകും.

പ്രധാനപ്പെട്ട Nginx കോൺഫിഗറേഷൻ ഫയലുകൾ

ഞങ്ങൾ പൊതിയുന്നതിനുമുമ്പ്, Nginx-മായി ബന്ധപ്പെട്ട ചില പ്രധാനപ്പെട്ട കോൺഫിഗറേഷൻ ഫയലുകൾ ഞങ്ങൾ പരിശോധിക്കുന്നത് നിർണായകമാണ്.

  • /etc/nginx/nginx.conf: ഇതാണ് പ്രധാന കോൺഫിഗറേഷൻ ഫയൽ. നിങ്ങളുടെ സെർവറിന്റെ ആവശ്യകതകൾ നിറവേറ്റുന്നതിനായി നിങ്ങൾക്ക് ക്രമീകരണങ്ങൾ പരിഷ്കരിക്കാനാകും.
  • /etc/nginx/sites-available: സെർവർ ബ്ലോക്ക് കോൺഫിഗറേഷൻ സംഭരിക്കുന്ന ഡയറക്ടറിയാണിത്. Nginx സെർവർ ബ്ലോക്കുകൾ സൈറ്റുകൾ പ്രാപ്uതമാക്കിയ ഡയറക്uടറിയിലേക്ക് ലിങ്ക് ചെയ്uതിട്ടുണ്ടെങ്കിൽ മാത്രമേ അവ ഉപയോഗിക്കൂ.
  • /etc/nginx/sites-enabled: ഡയറക്uടറിയിൽ ഇതിനകം പ്രവർത്തനക്ഷമമാക്കിയിട്ടുള്ള ഓരോ സൈറ്റിനും Nginx സെർവർ ബ്ലോക്കുകൾ അടങ്ങിയിരിക്കുന്നു.

നിങ്ങളുടെ Nginx വെബ് സെർവർ ട്രബിൾഷൂട്ട് ചെയ്യാൻ നിങ്ങൾക്ക് ഉപയോഗിക്കാവുന്ന രണ്ട് പ്രധാന ലോഗ് ഫയലുകൾ ഉണ്ട്:

  • /var/log/nginx/access.log: ഇത് വെബ്uസെർവറിലേക്ക് നടത്തിയ എല്ലാ അഭ്യർത്ഥനകളും ലോഗ് ചെയ്യുന്നു.
  • /var/log/nginx/error.log: ഇതൊരു പിശക് ലോഗ് ഫയലാണ് കൂടാതെ Nginx നേരിടുന്ന എല്ലാ പിശകുകളും ഇത് രേഖപ്പെടുത്തുന്നു.

ഞങ്ങൾ ഈ ട്യൂട്ടോറിയലിന്റെ അവസാനത്തിൽ എത്തിയിരിക്കുന്നു. ഉബുണ്ടു 20.04-ൽ നിങ്ങൾക്ക് Nginx എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാമെന്നും നിങ്ങളുടെ ഡൊമെയ്uനിന്റെ ഉള്ളടക്കം നൽകുന്നതിന് Nginx സെർവർ ബ്ലോക്കുകൾ എങ്ങനെ സജ്ജീകരിക്കാമെന്നും ഞങ്ങൾ കാണിച്ചുതന്നു. നിങ്ങളുടെ അഭിപ്രായം സ്വാഗതം ചെയ്യുന്നു.