Ubuntu හි Nginx ස්ථාපනය, වින්‍යාස කිරීම සහ වැඩිදියුණු කිරීම: පූර්ණ ආරම්භක මාර්ගෝපදේශය

目次

1. හැඳින්වීම

බොහෝ පරිශීලකයන් Ubuntu හි Nginx භාවිතා කිරීමට කැමති වෙති, නමුත් අරඹන්නන්ට කොහෙන් ආරම්භ කළ යුතුදැයි නොදැන සිටිය හැකිය. මෙම ලිපිය පහසු-බුද්ධිමත්, පියවරෙන් පියවර විස්තරයක් ලබා දේ—Ubuntu හි Nginx ස්ථාපනය කිරීමෙන් පසු එය වින්‍යාස කිරීම සහ කළමනාකරණය කිරීම දක්වා—ඔබට පෙර අත්දැකීමක් නොමැතිවත්.

Nginx යනු කුමක්ද?

Nginx (Engine‑X) යනු ඉහළ කාර්ය සාධන HTTP සේවාදායකය සහ රිවර්ස් ප්‍රොක්සි සේවාදායකයයි. එහි ලාංඡන සහ ලවච්චිත ව්‍යුහය නිසා, ලෝකය පුරා වෙබ් සේවාදායක සහ යෙදුම් වල විශාල ලෙස භාවිතා වේ. එහි ව්‍යුහය විශේෂයෙන්ම ඉහළ‑ට්‍රැෆික් පරිසරයන්ට සුදුසුය.

Ubuntu හි Nginx භාවිතයේ ප්‍රතිලාභ

Ubuntu යනු Nginx සමඟ ඉතා හොඳ අනුකූලතාවයක් ඇති ජනප්‍රිය Linux බෙදාහැරීමකි. Ubuntu APT පැකේජ කළමනාකරණ පද්ධතිය භාවිතා කරන බැවින්, ස්ථාපනය සහ යාවත්කාලීන කිරීම පහසුය, සහ ඔබට ශක්තිමත් ස්ථායිත්වය සහ ආරක්ෂාව අපේක්ෂා කළ හැක.

මෙම ලිපිය කියවීමෙන් පසු, ඔබට අවබෝධය ලැබේ:

  • Ubuntu හි Nginx ස්ථාපනය කරන ආකාරය
  • මූලික වින්‍යාස සහ කළමනාකරණ ක්‍රියාවලි
  • කාර්ය සාධන සැකසීම සහ ගැටළු විසඳුම් තාක්ෂණ

දැන්, ආරම්භ කරමු.

2. Ubuntu හි Nginx ස්ථාපනය කිරීම

Ubuntu හි Nginx ක්‍රියාත්මක කිරීමට, ඔබ එය නිවැරදිව ස්ථාපනය කළ යුතුය. මෙම කොටස ස්ථාපන පියවරයන් පැහැදිලි සහ සරල ලෙස විස්තර කරයි.

අවශ්‍ය පැකේජ පරීක්ෂා කිරීම

Nginx ස්ථාපනය කිරීමට පෙර, ඔබේ පද්ධතිය නවතම තත්ත්වයට පවත්වා ගැනීමට වග බලා ගන්න. පහත කමාන්ඩ් ක්‍රියාත්මක කරන්න:

sudo apt update
sudo apt upgrade

Nginx ස්ථාපනය

Nginx ස්ථාපනය කිරීමට, පහත කමාන්ඩ් ඇතුළත් කරන්න:

sudo apt install nginx

මෙම කමාන්ඩ් Ubuntu හි APT ගබඩාවෙන් Nginx සෘජුවම බාගත කර ස්ථාපනය කරයි.

ස්ථාපනය තහවුරු කිරීම

Nginx නිවැරදිව ස්ථාපනය වී ඇතිදැයි පරීක්ෂා කිරීමට පහත කමාන්ඩ් ක්‍රියාත්මක කරන්න:

sudo systemctl status nginx

තත්ත්වය active (running) ලෙස පෙන්වන්නේ නම්, ස්ථාපනය සාර්ථකයි.

ගිනුම් බාධකය (Firewall) වින්‍යාස කිරීම

Ubuntu හි UFW (Uncomplicated Firewall) ඇතුළත් වේ, එය Nginx ගමන් තැන්පත් කිරීමට භාවිතා කළ හැක.

sudo ufw allow 'Nginx Full'
sudo ufw enable

Nginx දැන් port 80 (HTTP) සහ port 443 (HTTPS) මත සන්නිවේදනය කිරීමට සූදානම්.

3. Ubuntu හි මූලික Nginx වින්‍යාසය

Nginx ස්ථාපනය කිරීම පමණක් ප්‍රමාණවත් නොවේ—එය ප්‍රයෝජනවත් ලෙස භාවිතා කිරීමට ඔබට නිවැරදිව වින්‍යාස කළ යුතුය.

වින්‍යාස ගොනු ස්ථානය සහ ව්‍යුහය

Nginx පහත වින්‍යාස ගොනු භාවිතා කරයි:

  • ප්‍රධාන වින්‍යාස ගොනුව: /etc/nginx/nginx.conf
  • අඩවි‑විශේෂිත වින්‍යාස ගොනු: /etc/nginx/sites-available/ නාමාවලියේ පිහිටා ඇත

සාමාන්‍යයෙන්, ඔබ sites-available නාමාවලියේ virtual host වින්‍යාස ගොනු සාදයි, පසුව sites-enabled නාමාවලියේ සංකේත සබැඳි (symbolic links) සාදා ඒවා සක්‍රිය කරයි.

Virtual Host වින්‍යාස කිරීම

Virtual host මගින් එකම සේවාදායකය බහු ඩොමේන් සහ ව්‍යාපෘති කළමනාකරණය කළ හැක. පහත උදාහරණය example.com සඳහා වින්‍යාස කරයි:

sudo nano /etc/nginx/sites-available/example.com

පහත වින්‍යාසය ඇතුළත් කරන්න:

server {
    listen 80;
    server_name example.com www.example.com;

    root /var/www/example.com/html;
    index index.html index.htm;

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

ගොනුව සුරකින්න, පසුව වින්‍යාසය සක්‍රිය කරන්න:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

SSL/TLS වින්‍යාස කිරීම

ආරක්ෂිත සන්නිවේදනය සක්‍රිය කිරීමට, SSL/TLS සහතික (certificates) වින්‍යාස කරන්න. ඔබ Let’s Encrypt භාවිතා කර නොමිලේ සහතික ලබා ගත හැක.

පළමුව, certbot ස්ථාපනය කරන්න:

sudo apt install certbot python3-certbot-nginx

පසුව, සහතිකය නිකුත් කර සැකසුම් ස්වයංක්‍රීයව යෙදවන්න:

sudo certbot --nginx -d example.com -d www.example.com

සහතිකය කල් ඉකුත් වීම වැළැක්වීමට, ස්වයංක්‍රීය නවීකරණය සක්‍රිය කර ඇති බව තහවුරු කරන්න.

4. Nginx ආරම්භ කිරීම සහ කළමනාකරණය

Nginx ස්ථාපනය කර වින්‍යාස කිරීමෙන් පසු, ඔබට එය ආරම්භ, නවතා, නැවත පූරණය (reload) සහ ගැටළු විසඳා ගැනීමට ඉගෙන ගත යුතුය. මෙම කොටස මූලික පරිපාලන කමාන්ඩ් සපයයි.

මූලික Nginx කමාන්ඩ්

Ubuntu හි, Nginx කළමනාකරණය සඳහා systemctl කමාන්ඩ් භාවිතා කරන්න:

  1. Nginx ආරම්භ කරන්න
    sudo systemctl start nginx
    
  1. Nginx නවත්වන්න
    sudo systemctl stop nginx
    
  1. Nginx නැවත ආරම්භ කරන්න විශාල වින්‍යාස වෙනස්කම් සිදු කරන විට භාවිතා කරන්න.
    sudo systemctl restart nginx
    
  1. Nginx නැවත පූරණය කරන්න නැවත ආරම්භ නොකර වින්‍යාස වෙනස්කම් යෙදවන්න.
    sudo systemctl reload nginx
    
  1. Nginx තත්ත්වය පරීක්ෂා කරන්න
    sudo systemctl status nginx
    

ස්වයංක්‍රීය ආරම්භය සක්‍රිය කරන්න

පද්ධතිය නැවත ආරම්භ වූ පසු Nginx ස්වයංක්‍රීයව ආරම්භ කිරීමට:

  1. ස්වයං-ආරම්භය සක්‍රිය කරන්න
    sudo systemctl enable nginx
    
  1. ස්වයං-ආරම්භය අක්‍රිය කරන්න
    sudo systemctl disable nginx
    

ලොග් පරීක්ෂා කිරීම සහ ගැටළු විසඳීම

Nginx අපේක්ෂිත ලෙස ක්‍රියා නොකරන්නේ නම්, ලොග් පරීක්ෂා කරන්න:

  1. දෝෂ ලොග්
    sudo tail -f /var/log/nginx/error.log
    
  1. ප්‍රවේශ ලොග්
    sudo tail -f /var/log/nginx/access.log
    

සාමාන්‍ය ගැටළු සහ විසඳුම්

  1. Nginx ආරම්භ නොවේ
  • හේතුව: වින්‍යාස ගොනුවේ දෝෂ
  • විසඳුම: bash sudo nginx -t වාක්‍ය රචනා දෝෂ පරීක්ෂා කර සකස් කරන්න.
  1. වෙනස්කම් යෙදව නොමැත
  • හේතුව: Nginx නැවත පූරණය කර නොමැත
  • විසඳුම: වෙනස්කම් කිරීමෙන් පසු sudo systemctl reload nginx ක්‍රියාත්මක කරන්න.
  1. පෝට්ට් අරිනු නොමැත
  • හේතුව: ගිනුම් බාධක සැකසුම්
  • විසඳුම: bash sudo ufw allow 'Nginx Full'

5. Nginx ගිනුම් බාධක සැකසුම් සහ ආරක්ෂාත්මක ශක්තිකරණය

Nginx ක්‍රියාත්මක කිරීමේදී ආරක්ෂාව අත්‍යවශ්‍ය වේ. මෙම කොටස UFW සැකසීම සහ Nginx ආරක්ෂාව ශක්තිමත් කිරීම පිළිබඳ විස්තර කරයි.

UFW සමඟ පෝට්ට් විවෘත කිරීම

UFW Ubuntu හි පෙරනිමි ලෙස ස්ථාපිත වේ. Nginx සන්නිවේදනය සක්‍රිය කිරීමට අවශ්‍ය පෝට්ට් විවෘත කරන්න:

  1. UFW තත්ත්වය පරීක්ෂා කරන්න
    sudo ufw status
    
  1. Nginx නීති යෙදවන්න
    sudo ufw allow 'Nginx Full'
    
  1. UFW සක්‍රිය කරන්න
    sudo ufw enable
    

අතිරේක ආරක්ෂාත්මක වැඩිදියුණු කිරීම්

  1. අවශ්‍ය නොවන HTTP ක්‍රම අක්‍රිය කරන්න
    if ($request_method !~ ^(GET|POST|HEAD)$) {
        return 444;
    }
    
  1. නාමාවලිය ලැයිස්තුගත කිරීම අක්‍රිය කරන්න
    autoindex off;
    
  1. SSL/TLS ශක්තිමත් කරන්න
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_ciphers HIGH:!aNULL:!MD5;
    

6. Nginx කාර්ය සාධන සැකසුම් සහ ගැටළු විසඳීම

Nginx කාර්ය සාධනය සඳහා ප්‍රසිද්ධයි, නමුත් නිසි සැකසුම් එය තවත් වැඩිදියුණු කරයි. මෙම කොටස සම්පත් උපරිම කිරීම සහ සාමාන්‍ය ගැටළු විසඳීම පිළිබඳ විස්තර කරයි.

කාර්ය සාධන සැකසුම්

1. Worker ක්‍රියාවලි සැකසීම

/etc/nginx/nginx.conf සංස්කරණය කර worker ක්‍රියාවලි ගණන උපරිම කරන්න:

worker_processes auto;

2. Worker සම්බන්ධතා වැඩි කිරීම

worker_connections 1024;

3. HTTP/2 සක්‍රිය කරන්න

listen 443 ssl http2;
sudo systemctl reload nginx

4. සංකෝචනය සක්‍රිය කරන්න

gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

5. කෑෂ් සැකසීම

location ~* \.(jpg|jpeg|png|gif|ico|css|js|woff|woff2|ttf|svg)$ {
    expires 30d;
    access_log off;
}

සාමාන්‍ය ගැටළු සහ විසඳුම්

1. උච්ච භාරය යටතේ මන්දගාමී ඉල්ලීම්

  • හේතුව: ප්‍රමාණවත් නොවන worker ක්‍රියාවලි හෝ සම්බන්ධතා සැකසුම්
  • විසඳුම: worker පරාමිතීන් සකස් කරන්න හෝ භාර බෙදා හැරීමක් හඳුන්වා දෙන්න

2. 403 Forbidden දෝෂය

  • හේතුව: වැරදි root මාර්ගය හෝ අනිසි අවසර
  • විසඳුම:
  • root උපදෙස් පරීක්ෂා කර පහත ආකාරයෙන් අවසර සකසන්න:
  • bash sudo chmod -R 755 /var/www/example.com/html sudo chown -R www-data:www-data /var/www/example.com/html

3. සේවාදායක කාලය ඉක්මවා යාම

  • හේතුව: ගනුදෙනුකරුගේ ඉල්ලීම සැකසීමට වැඩි කාලයක් ගත වීම
  • විසඳුම:
    proxy_read_timeout 300;
    proxy_connect_timeout 300;
    proxy_send_timeout 300;
    

4. නැවත ආරම්භ දෝෂ

  • හේතුව: වින්‍යාස වාක්‍ය රචනා ගැටළු
  • විසඳුම:
    sudo nginx -t
    

7. සාරාංශය සහ ඊළඟ පියවර

මෙම ලිපිය Ubuntu හි Nginx ස්ථාපනය, වින්‍යාස කිරීම සහ කළමනාකරණය කිරීම පිළිබඳ විස්තර කරයි. ඔබ ඉගෙන ගත් දේ පරීක්ෂා කර ඊළඟ පියවර හඳුනා ගනිමු.

ලිපි සමාලෝචනය

1. Ubuntu හි Nginx ස්ථාපනය

  • අවශ්‍ය පැකේජ සකස් කර, APT භාවිතා කර Nginx ස්ථාපනය කරන ආකාරය ඉගෙන ගත්තා
  • ෆයර්වෝල් (UFW) සකසා Nginx රැහැන් ඉඩ දුන්නා

2. මූලික වින්‍යාසය

  • ගොනු ස්ථාන, වර්චුවල් හෝස්ට් සැකසීම, සහ SSL/TLS වින්‍යාසය ගැන ඉගෙන ගත්තා

3. කළමනාකරණ මෙහෙයුම්

  • ආරම්භ, නවතා, නැවත ආරම්භ, රීලෝඩ්, සහ ලොග් පරීක්ෂණ විධාන පාලනය කරගත්තා

4. ෆයර්වෝල් සහ ආරක්ෂාව

  • UFW භාවිතා කර අවශ්‍ය පෝට් විවෘත කර, අත්‍යවශ්‍ය නොවන HTTP ක්‍රම අක්‍රිය කළා

5. කාර්ය සාධන සැකසීම සහ ගැටළු විසඳීම

  • වැඩකාරක ප්‍රකාරයන් අනුකූල කර, HTTP/2 සක්‍රිය කර, කෑෂ් වින්‍යාස කර, සහ සාමාන්‍ය ගැටළු විසඳා ඇත

ඊළඟ පියවර

Ubuntu මත Nginx හි මූලික ස්ථාපන සහ වින්‍යාස පියවර ඔබ දැන් අවබෝධ කරගෙන ඇති බැවින්, තවත් ඉදිරියට යාම ගැන සිතන්න:

  1. උසස් Nginx වින්‍යාසය ඉගෙන ගන්න
  • ලෝඩ් බැලන්සිං සහ රිවර්ස් ප්‍රොක්සි විශේෂාංග අධ්‍යයනය කරන්න
  • Nginx RTMP මොඩියුලය වැනි අතිරේක මොඩියුල පරීක්ෂා කරන්න
  1. ආරක්ෂාව වැඩිදියුණු කරන්න
  • වෙබ් යෙදුම් ෆයර්වෝල් (WAF) ක්‍රියාත්මක කිරීම ගැන සිතන්න
  1. ස්වයංක්‍රීය කිරීම හඳුන්වා දෙන්න
  • වින්‍යාසය සහ නිකුත් කිරීම ස්වයංක්‍රීය කිරීමට Ansible හෝ Docker භාවිතා කරන්න
  1. නිරීක්ෂණ සහ අනුකූල කිරීමේ මෙවලම් භාවිතා කරන්න
  • කාර්ය සාධනය දර්ශනය කිරීම සහ නිරීක්ෂණය කිරීම සඳහා Prometheus හෝ Grafana ක්‍රියාත්මක කරන්න

අවසාන අදහස්

Nginx යනු නිවැරදිව වින්‍යාස කරන විට විවිධ භාවිතයන් සඳහා සහය දක්වන වේගවත් සහ ව්‍යාප්ත වෙබ් සේවාදායකයකි. මෙහි ඔබ ඉගෙන ගත් දේවල් වාස්තුකලාවලට යොදාගෙන, නිල Nginx ලේඛන සහ ප්‍රජා සම්පත් මගින් අතිරේක විශේෂාංග අධ්‍යයනය කරගෙන යන්න.

මෙම මාර්ගෝපදේශය ඔබේ වෙබ් සේවාදායකය වැඩි කාර්යක්ෂමතාවෙන් කළමනාකරණය කිරීමට උපකාරී වේයි කියා මම බලාපොරොත්තු වෙමි!