ഉബുണ്ടു 20.04-ൽ Nginx സെർവർ ബ്ലോക്കുകൾ (വെർച്വൽ ഹോസ്റ്റുകൾ) എങ്ങനെ സജ്ജീകരിക്കാം


ചില സമയങ്ങളിൽ, നിങ്ങളുടെ Nginx വെബ് സെർവറിൽ ഒന്നിലധികം ഡൊമെയ്uനുകളോ വെബ്uസൈറ്റുകളോ ഹോസ്റ്റ് ചെയ്യേണ്ടതായി വന്നേക്കാം. അത് സംഭവിക്കുന്നതിന്, നിങ്ങളുടെ ഡൊമെയ്uനിന്റെ എല്ലാ കോൺഫിഗറേഷനും ഉൾക്കൊള്ളാൻ ഒരു സെർവർ ബ്ലോക്ക് (വെർച്വൽ ഹോസ്റ്റുകൾ) കോൺഫിഗർ ചെയ്യേണ്ടതുണ്ട്. Nginx സെർവർ ബ്ലോക്കുകൾ അപ്പാച്ചെ വെർച്വൽ ഹോസ്റ്റ് ഫയലുകളുടെ പര്യായമാണ്, അവ ഒരേ ഉദ്ദേശ്യത്തോടെ പ്രവർത്തിക്കുന്നു.

ഉബുണ്ടു 20.04-ൽ ഒരു Nginx സെർവർ ബ്ലോക്ക് എങ്ങനെ സജ്ജീകരിക്കാമെന്ന് ഈ വിഷയം കാണിക്കുന്നു.

  • നിങ്ങളുടെ ഡൊമെയ്ൻ നെയിം ഹോസ്റ്റിംഗ് പ്രൊവൈഡറിൽ ഒരു A റെക്കോർഡ് നിർവ്വചിച്ചിരിക്കുന്നു. ഒരു A റെക്കോർഡ് എന്നത് ഡൊമെയ്ൻ നാമം പൊതു സെർവർ IP വിലാസത്തിലേക്ക് ചൂണ്ടിക്കാണിക്കുന്ന ഒരു DNS റെക്കോർഡാണ്. ഈ ഗൈഡിനായി, ചിത്രീകരണ ആവശ്യങ്ങൾക്കായി ഞങ്ങൾ crazytechgeek.info എന്ന ഡൊമെയ്ൻ നാമം ഉപയോഗിക്കും.
  • ഉബുണ്ടു 20.04 LTS ഉദാഹരണത്തിൽ ഒരു LEMP സ്റ്റാക്ക് ഇൻസ്റ്റാൾ ചെയ്തു.
  • സുഡോ പ്രത്യേകാവകാശങ്ങളുള്ള ഒരു ലോഗിൻ ഉപയോക്താവ്.

എല്ലാ ആവശ്യകതകളും നിറവേറ്റിക്കൊണ്ട്, നിങ്ങൾക്ക് ഉബുണ്ടുവിൽ ഒരു Nginx സെർവർ ബ്ലോക്ക് എങ്ങനെ സജ്ജീകരിക്കാമെന്ന് പര്യവേക്ഷണം ചെയ്യാം.

ഘട്ടം 1: ഒരു Nginx ഡോക്യുമെന്റ് റൂട്ട് ഡയറക്ടറി സൃഷ്ടിക്കുക

ആരംഭിക്കുന്നതിന്, ഞങ്ങളുടെ ഡൊമെയ്uനിനായി ഞങ്ങൾ ഒരു പ്രത്യേക ഡയറക്ടറി സൃഷ്ടിക്കും, അതിൽ ഡൊമെയ്uനുമായി ബന്ധപ്പെട്ട എല്ലാ ക്രമീകരണങ്ങളും അടങ്ങിയിരിക്കും.

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

അടുത്തതായി, $USER പരിസ്ഥിതി വേരിയബിൾ ഉപയോഗിച്ച് ഡയറക്ടറിയുടെ ഉടമസ്ഥാവകാശം നൽകുക. നിലവിൽ ലോഗിൻ ചെയ്uതിരിക്കുന്ന ഉപയോക്താവിന് ഇത് ഡയറക്uടറിയുടെ ഉടമസ്ഥാവകാശം നൽകുന്നു. ഒരു സാധാരണ ഉപയോക്താവിന്റെ അക്കൗണ്ട് ഉപയോഗിച്ചാണ് നിങ്ങൾ ലോഗിൻ ചെയ്തിരിക്കുന്നതെന്നും റൂട്ട് ആയിട്ടല്ലെന്നും ഉറപ്പാക്കുക.

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

അടുത്തതായി, ഡയറക്uടറിയിലേക്ക് ഉചിതമായ അനുമതികൾ നൽകുക, ലോഗിൻ ചെയ്uത ഉപയോക്താവിന് എല്ലാ അവകാശങ്ങളും (വായിക്കുക, എഴുതുക, നടപ്പിലാക്കുക) ഗ്രൂപ്പും മറ്റ് ഉപയോക്താക്കളും അനുമതികൾ മാത്രം വായിക്കുകയും നടപ്പിലാക്കുകയും ചെയ്യുന്നു.

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

ഡയറക്uടറി അനുമതികളും ഉടമസ്ഥാവകാശവും ശരിയായി കോൺഫിഗർ ചെയ്uതിരിക്കുന്നതിനാൽ, ഡൊമെയ്uനിനായി ഞങ്ങൾ ഒരു സാമ്പിൾ വെബ് പേജ് സൃഷ്uടിക്കേണ്ടതുണ്ട്.

ഘട്ടം 2: ഡൊമെയ്uനിനായി ഒരു സാമ്പിൾ പേജ് സൃഷ്uടിക്കുക

ഈ ഘട്ടത്തിൽ, പരീക്ഷണ ആവശ്യങ്ങൾക്കായി ഞങ്ങൾ ഒരു index.html ഫയൽ സൃഷ്ടിക്കാൻ പോകുന്നു. ബ്രൗസറിൽ ഡൊമെയ്uൻ വിളിക്കുമ്പോൾ വെബ് ബ്രൗസറിൽ പ്രദർശിപ്പിക്കുന്ന ഉള്ളടക്കം ഈ ഫയൽ നൽകും.

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

ഇനിപ്പറയുന്ന HTML ഉള്ളടക്കം ഒട്ടിക്കുക.

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

കോൺഫിഗറേഷൻ ഫയൽ സംരക്ഷിച്ച് പുറത്തുകടക്കുക.

ഘട്ടം 3: ഉബുണ്ടുവിൽ ഒരു Nginx സെർവർ ബ്ലോക്ക് സൃഷ്ടിക്കുക

Nginx സെർവർ ബ്ലോക്കുകൾ /etc/nginx/sites-available ഡയറക്uടറിയിലാണ്. സ്ഥിരസ്ഥിതി Nginx സെർവർ ബ്ലോക്ക് /etc/nginx/sites-available/default ആണ്, അത് /var/www/html/index.nginx-debian.html-ൽ സ്ഥിരസ്ഥിതി HTML ഫയൽ നൽകുന്നു.

ഞങ്ങളുടെ കാര്യത്തിൽ, ഞങ്ങൾ മുമ്പ് സൃഷ്uടിച്ച index.html ഫയലിലെ ഉള്ളടക്കം നൽകുന്ന ഒരു സെർവർ ബ്ലോക്ക് സൃഷ്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;
        }

		
    access_log /var/log/nginx/crazytechgeek.info.access.log;
    error_log /var/log/nginx/crazytechgeek.info.error.log;

}

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

ഘട്ടം 4: ഉബുണ്ടുവിൽ Nginx സെർവർ ബ്ലോക്ക് പ്രവർത്തനക്ഷമമാക്കുക

Nginx സെർവർ ബ്ലോക്ക് പ്രവർത്തനക്ഷമമാക്കുന്നതിന്, കാണിച്ചിരിക്കുന്നതുപോലെ നിങ്ങൾ അത് /etc/nginx/sites-enabled/ ഡയറക്ടറിയിലേക്ക് സിംലിങ്ക് ചെയ്യേണ്ടതുണ്ട്.

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

ഈ സമയത്ത്, ഞങ്ങൾ ഏറെക്കുറെ പൂർത്തിയാക്കി. എന്നിരുന്നാലും, എല്ലാ കോൺഫിഗറേഷനുകളും ക്രമത്തിലാണെന്ന് സ്ഥിരീകരിക്കുന്നത് വിവേകപൂർണ്ണമാണ്. അങ്ങനെ ചെയ്യുന്നതിന്, കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്യുക:

$ sudo nginx -t

നിങ്ങൾ ഞങ്ങളുടെ ഘട്ടങ്ങൾ ശരിയായി പിന്തുടരുകയാണെങ്കിൽ, നിങ്ങൾക്ക് കാണിച്ചിരിക്കുന്ന ഔട്ട്പുട്ട് ലഭിക്കണം:

അവസാനമായി, കോൺഫിഗറേഷൻ ഫയലുകളിൽ വരുത്തിയ മാറ്റങ്ങൾ പ്രാബല്യത്തിൽ വരുന്നതിനായി Nginx പുനരാരംഭിക്കുക.

$ sudo systemctl restart Nginx

കാണിച്ചിരിക്കുന്ന കമാൻഡ് പ്രവർത്തിപ്പിച്ച് Nginx പ്രവർത്തിക്കുന്നുണ്ടോയെന്ന് സ്ഥിരീകരിക്കുക:

$ sudo systemctl status Nginx

ഘട്ടം 5: ഉബുണ്ടുവിൽ Nginx സെർവർ ബ്ലോക്ക് പരിശോധിക്കുന്നു

സെർവർ ബ്ലോക്ക് പ്രതീക്ഷിച്ചതുപോലെ പ്രവർത്തിക്കുന്നുണ്ടോയെന്നും /var/www/crazytechgeek.info ഡയറക്uടറിയിൽ ഉള്ളടക്കം നൽകുന്നുണ്ടോയെന്നും സ്ഥിരീകരിക്കാൻ, നിങ്ങളുടെ വെബ് ബ്രൗസർ തുറന്ന് സെർവറിന്റെ ഡൊമെയ്uൻ നാമം ബ്രൗസ് ചെയ്യുക:

http://domain-name

കാണിച്ചിരിക്കുന്നതുപോലെ നിങ്ങളുടെ സെർവർ ബ്ലോക്കിലെ HTML ഫയലിൽ അടങ്ങിയിരിക്കുന്ന ഉള്ളടക്കം നിങ്ങൾക്ക് ലഭിക്കണം.

ഈ ഗൈഡിൽ, ഉബുണ്ടു ലിനക്സിൽ ഒരൊറ്റ ഡൊമെയ്ൻ ഉപയോഗിച്ച് ഒരു Nginx സെർവർ ബ്ലോക്ക് എങ്ങനെ സജ്ജീകരിക്കാമെന്ന് ഞങ്ങൾ കാണിച്ചുതന്നിട്ടുണ്ട്. വ്യത്യസ്uത ഡൊമെയ്uനുകൾക്കായി നിങ്ങൾക്ക് ഒരേ ഘട്ടങ്ങൾ ആവർത്തിക്കാനും അതേ ഫലങ്ങൾ നേടാനും കഴിയും. ഗൈഡ് ഉൾക്കാഴ്ചയുള്ളതാണെന്ന് ഞങ്ങൾ പ്രതീക്ഷിക്കുന്നു.