উবুন্টু 20.04 এ Nginx ওয়েব সার্ভারটি কীভাবে ইনস্টল করবেন


এনগিনেক্স হ'ল একটি ওপেনসোর্স, উচ্চ-কার্য সম্পাদনকারী ওয়েব সার্ভার যা উত্পাদন পরিবেশে একটি বিশাল বাজার ভাগের আদেশ দেয়। এটি একটি লাইটওয়েট এবং মজবুত ওয়েব সার্ভার যা বেশিরভাগ হাই ট্রাফিক ওয়েবসাইটের হোস্টিংয়ে ব্যবহৃত হয়।

সম্পর্কিত পড়ুন: উবুন্টু 20.04 এ অ্যাপাচি ওয়েব সার্ভারটি কীভাবে ইনস্টল করবেন

এই গাইডটিতে আপনি কীভাবে উবুন্টু 20.04 এলটিএসে এনগিনেক্স ওয়েব সার্ভারটি ইনস্টল করবেন এবং এনগিনেক্স সার্ভার ব্লক (ভার্চুয়াল হোস্টগুলি) কনফিগার করবেন তা শিখবেন।

শুরু করার জন্য, আপনার এসএসএইচ অ্যাক্সেস সহ উবুন্টু ২০.০৪ এলটিএস এবং রুট সুবিধাগুলি সহ সুডো ব্যবহারকারী রয়েছে তা নিশ্চিত করুন। তদতিরিক্ত, একটি স্থিতিশীল ইন্টারনেট সংযোগ Nginx প্যাকেজ ইনস্টল করার পরামর্শ দেওয়া হয়।

উবুন্টু 20.04 এ এনগিনেক্স ইনস্টল করা

1. এনগিনেক্স ইনস্টল করার আগে আপনার সার্ভারের প্যাকেজ তালিকাগুলি আপডেট করুন।

$ sudo apt update

2. তারপর কমান্ডটি চালিয়ে Nginx ইনস্টল করুন:

$ sudo apt install nginx

চালিয়ে যাওয়ার অনুরোধ জানানো হলে কীবোর্ডে Y টিপুন এবং ENTER টিপুন। ইনস্টলেশনটি কয়েক সেকেন্ডের মধ্যেই সম্পন্ন হবে।

৩.নিগিনেক্স সফলভাবে ইনস্টল হওয়ার সাথে সাথে আপনি এটি চালিয়ে যাচাই বাছাই করতে পারবেন:

$ sudo systemctl start nginx
$ sudo systemctl status nginx

উপরের আউটপুটটি পরিষ্কারভাবে ইঙ্গিত দেয় যে এনগিনেক্স চলছে।

4. এনগিনেক্সের সংস্করণটি পরীক্ষা করতে, চালান:

$ sudo dpkg -l nginx

আউটপুটটি ইঙ্গিত দেয় যে আমরা Nginx 1.17.10 চালাচ্ছি যা এই নিবন্ধটি লেখার সময় সর্বশেষতম সংস্করণ।

ইউএফডাব্লু ফায়ারওয়ালে এনগিনেক্স পোর্টগুলি খুলুন

এখন আপনি যেমন Nginx ইনস্টল করেছেন এবং প্রত্যাশার মতো চলছে, ওয়েব ব্রাউজারের মাধ্যমে এনগিনেক্সের অ্যাক্সেস পাওয়ার জন্য কয়েকটি অ্যাডজাস্টমেন্ট প্রয়োজন। আপনি যদি ইউএফডাব্লু ফায়ারওয়ালটি চালাচ্ছেন তবে আপনাকে এনগিনেক্স অ্যাপ্লিকেশন প্রোফাইলের অনুমতি দেওয়া দরকার।

Ufw ফায়ারওয়ালের সাথে সম্পর্কিত 3 টি Nginx প্রোফাইল রয়েছে।

  1. এনগিনেক্স পূর্ণ - এটি 80 এবং 443 (এসএসএল/টিএলএস এনক্রিপশনের জন্য) উভয় পোর্ট খোলে
  2. এনগিনেক্স এইচটিটিপি - এটি কেবল 80 টি পোর্ট খোলে (এনক্রিপ্ট করা ওয়েব ট্র্যাফিকের জন্য)
  3. এনগিনেক্স এইচটিটিপিএস - কেবল 443 পোর্ট খোলে (এসএসএল/টিএলএস এনক্রিপশনের জন্য)

5. উবুন্টু 20.04 এ ফায়ারওয়াল সক্ষম করে শুরু করুন।

$ sudo ufw enable

Now. আপাতত, যেহেতু আমরা কোনও এনক্রিপ্ট করা সার্ভারে নেই, আমরা কেবলমাত্র এনগিনেক্স এইচটিটিপি প্রোফাইলকে অনুমতি দেব যা 80 পোর্টে ট্র্যাফিকের অনুমতি দেবে।

$ sudo ufw allow 'Nginx HTTP'

Then. তারপরে পরিবর্তনগুলি ধরে রাখতে ফায়ারওয়ালটি পুনরায় লোড করুন।

$ sudo ufw reload

৮. এখন অনুমোদন দেওয়া প্রোফাইলগুলি যাচাই করতে ফায়ারওয়ালের স্থিতি পরীক্ষা করুন।

$ sudo ufw status

উবুন্টু 20.04 এ এনগিনেক্স পরীক্ষা করা

আপনি যে কোনও ওয়েব সার্ভারের সাথে প্রত্যাশা করবেন এবং ব্রাউজারের মাধ্যমে অনুরোধগুলি প্রেরণ করা প্রত্যাশা অনুযায়ী চলমান কিনা তা পরীক্ষা করার সবচেয়ে নিশ্চিত উপায় হিসাবে ব্রাউজারে এনগিনেক্স চলমান runs

9. সুতরাং আপনার ব্রাউজারে বেরোন এবং সার্ভারের আইপি ঠিকানা বা ডোমেন নাম ব্রাউজ করুন। আপনার সার্ভারের আইপি চেক করতে, ifconfig কমান্ডটি চালান:

$ ifconfig

১০. আপনি যদি ক্লাউড সার্ভারে থাকেন তবে সার্ভারের পাবলিক আইপি পুনরুদ্ধার করতে নীচে কার্ল কমান্ডটি চালান।

$ curl ifconfig.me

১১. আপনার ব্রাউজারের URL ফিল্ডে, আপনার সার্ভারের আইপি ঠিকানা বা ডোমেন নাম লিখুন এবং ENTER টিপুন hit

http://server-IP or domain-name

প্রদর্শিত হিসাবে আপনার একটি ডিফল্ট Nginx স্বাগত পৃষ্ঠা পাওয়া উচিত।

উবুন্টু 20.04 এ এনগিনেক্স প্রক্রিয়া পরিচালনা করুন

12. এনগিনেক্স ওয়েব সার্ভারটি বন্ধ করতে, কেবল চালনা করুন:

$ 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 তার ডিফল্ট সার্ভার ব্লক সহ জাহাজগুলি যা << কোড/var/www/html পথে ওয়েব সামগ্রী সরবরাহ করতে সেট করে।

আমরা আমাদের ডোমেনের বিষয়বস্তু পরিবেশন করতে একটি পৃথক Nginx ব্লক তৈরি করতে যাচ্ছি। এই গাইডের জন্য, আমরা ক্রেটিটেকজেক.ইন.ফো ডোমেন ব্যবহার করতে যাচ্ছি
আপনার ক্ষেত্রে, আপনার নিজের ডোমেন নামের সাথে এটি প্রতিস্থাপন নিশ্চিত করুন।

17. একটি সার্ভার ব্লক ফাইল তৈরি করতে, প্রথমে আপনার ডোমেনের জন্য প্রদর্শিত হিসাবে একটি ডিরেক্টরি তৈরি করুন।

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

18. এর পরে, $ব্যবহারকারী কোডটি ভেরিয়েবল ব্যবহার করে নতুন ডিরেক্টরিতে মালিকানা নির্ধারণ করুন।

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

19. নিশ্চিত করুন যে আপনি সেই অনুযায়ী ডিরেক্টরি অনুমতিও অর্পণ করেছেন মালিককে সমস্ত অনুমতি (পড়ুন, লিখতে এবং চালিত করতে) এবং অন্য পক্ষকে কেবল অনুমতি পড়ার এবং সম্পাদনের অনুমতি দেওয়ার অনুমতি দিচ্ছেন।

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

20. ডোমেন ডিরেক্টরিতে, একটি index.html একটি ফাইল তৈরি করুন যা এতে ডোমেনের ওয়েব সামগ্রী থাকবে।

$ 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. আপনি সবে যুক্ত করা সামগ্রীটি পরিবেশন করার জন্য এনগিনেক্স ওয়েবসার্ভারের জন্য আপনাকে উপযুক্ত নির্দেশাবলীর সাথে একটি সার্ভার ব্লক তৈরি করতে হবে। এই ক্ষেত্রে, আমরা এখানে একটি নতুন সার্ভার ব্লক তৈরি করেছি:

$ 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 সার্ভার স্টার্টআপে পড়ে।

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

23. পরিবর্তনগুলি প্রভাবিত হওয়ার জন্য, এনগিনেক্স ওয়েবসার্ভারটি পুনরায় চালু করুন।

$ sudo systemctl restart nginx

24. সমস্ত কনফিগারেশন ক্রমযুক্ত হয়েছে তা নিশ্চিত হয়ে কমান্ডটি চালান:

$ nginx -t

সমস্ত কনফিগারেশন ক্রমযুক্ত থাকলে, আপনি নীচে প্রদর্শিত আউটপুট পেতে হবে:

25. Nginx ওয়েব সার্ভারের এখন আপনার ডোমেনের সামগ্রী পরিবেশন করা উচিত। আবার, আপনার ব্রাউজারে বেরোন এবং আপনার সার্ভারের ডোমেন ব্রাউজ করুন।

http://domain-name

আপনার ডোমেনের ডিরেক্টরিতে আপনার কাস্টম সামগ্রীটি প্রদর্শিত হিসাবে পরিবেশন করা হবে।

গুরুত্বপূর্ণ এনগিনেক্স কনফিগারেশন ফাইল

আমরা মোড়ানোর আগে, এটি গুরুত্বপূর্ণ আমরা এনগিনেক্সের সাথে যুক্ত কয়েকটি গুরুত্বপূর্ণ কনফিগারেশন ফাইল পরীক্ষা করি।

  • /etc/nginx/nginx.conf: এটি মূল কনফিগারেশন ফাইল। আপনার সার্ভারের প্রয়োজনীয়তাগুলি পূরণ করতে আপনি সেটিংস পরিবর্তন করতে পারেন
  • /etc/nginx/সাইটগুলি উপলভ্য: এই ডিরেক্টরিটি সার্ভার ব্লক কনফিগারেশন সঞ্চয় করে। Nginx কেবলমাত্র সার্ভার ব্লকগুলি ব্যবহার করে যদি তারা সাইটগুলি সক্ষম ডিরেক্টরিতে লিঙ্কযুক্ত থাকে
  • /etc/nginx/সাইটগুলি সক্ষম: ডিরেক্টরিটিতে প্রতি সাইট Nginx সার্ভার ব্লক রয়েছে যা ইতিমধ্যে সক্ষম

দুটি প্রধান লগ ফাইল রয়েছে যা আপনি আপনার এনগিনেক্স ওয়েব সার্ভারের সমস্যা সমাধানের জন্য ব্যবহার করতে পারেন:

  • /var/log/nginx/access.log: এটি ওয়েবসভারে করা সমস্ত অনুরোধগুলি লগ করে
  • /var/log/nginx/error.log: এটি ত্রুটি লগ ফাইল এবং এটি এনগিনেক্সের মুখোমুখি হওয়া সমস্ত ত্রুটি রেকর্ড করে

আমরা এই টিউটোরিয়ালের শেষে পৌঁছেছি। আমরা দেখিয়েছি যে আপনি কীভাবে উবুন্টু 20.04 এ Nginx ইনস্টল করতে পারবেন এবং কীভাবে আপনি আপনার ডোমেনের বিষয়বস্তু পরিবেশন করতে Nginx সার্ভার ব্লক সেট আপ করতে পারেন। আপনার মতামত স্বাগত।