উবুন্টু 20.04 এ কীভাবে এনগিনেক্স সার্ভার ব্লক (ভার্চুয়াল হোস্টস) সেট আপ করবেন


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

এই বিষয়টি উবুন্টু 20.04 এ কীভাবে একটি এনগিনেক্স সার্ভার ব্লক সেটআপ করবেন তা প্রদর্শিত হয়।

  • আপনার ডোমেন নাম হোস্টিং সরবরাহকারীতে একটি একটি রেকর্ড সংজ্ঞায়িত করা হয়েছে। একটি একটি রেকর্ড একটি ডিএনএস রেকর্ড যা ডোমেনের নামটিকে সার্বজনীন সার্ভারের আইপি ঠিকানায় নির্দেশ করে। এই গাইডের জন্য, আমরা উদাহরণের জন্য ক্রেটিটেকজেক.ইন.ফো ডোমেন নামটি ব্যবহার করব
  • উবুন্টু 20.04 এলটিএস ইনস্ট্যান্সে একটি এলইএমপি স্ট্যাক ইনস্টল করা হয়েছে
  • সুডোর অধিকার সহ একটি লগইন ব্যবহারকারী

সমস্ত প্রয়োজনীয়তা পূরণের সাথে, আসুন আমরা কীভাবে উবুন্টুতে একটি এনগিনেক্স সার্ভার ব্লক সেটআপ করতে পারি তা অন্বেষণ করা যাক।

পদক্ষেপ 1: একটি এনগিনেক্স ডকুমেন্ট রুট ডিরেক্টরি তৈরি করুন

শুরু করতে, আমরা আমাদের ডোমেনের জন্য একটি পৃথক ডিরেক্টরি তৈরি করব যা এতে ডোমেন সম্পর্কিত সমস্ত সেটিংস ধারণ করে।

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

এরপরে, ডিরেক্টরিটির মালিকানা $ ব্যবহারকারী পরিবেশ ভেরিয়েবল ব্যবহার করে অর্পণ করুন assign এটি বর্তমানে লগ ইন করা ব্যবহারকারীর জন্য ডিরেক্টরিটির মালিকানা নির্ধারণ করে। নিশ্চিত হয়ে নিন যে আপনি কোনও নিয়মিত ব্যবহারকারীর অ্যাকাউন্ট ব্যবহার করে লগ ইন করেছেন এবং রুট হিসাবে নয়।

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

এরপরে, ডিরেক্টরিতে যথাযথ অনুমতিগুলি নির্ধারণ করুন, লগ-ইন করা ব্যবহারকারীকে সমস্ত অধিকার (পড়ুন, লিখুন এবং চালিত করুন) এবং গোষ্ঠী এবং অন্যান্য ব্যবহারকারীরা কেবল অনুমতিগুলি পড়ুন এবং সম্পাদন করুন।

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

ডিরেক্টরি অনুমতি এবং মালিকানা সঠিকভাবে কনফিগার করা সহ, আমাদের ডোমেনের জন্য একটি নমুনা ওয়েব পৃষ্ঠা তৈরি করতে হবে।

পদক্ষেপ 2: ডোমেনের জন্য একটি নমুনা পৃষ্ঠা তৈরি করুন

এই পদক্ষেপে, আমরা পরীক্ষার উদ্দেশ্যে একটি সূচক html ফাইল তৈরি করতে যাচ্ছি। এই ফাইলটি এমন সামগ্রী সরবরাহ করবে যা ওয়েব ব্রাউজারে প্রদর্শিত হবে যখন ডোমেনটি ব্রাউজারে কল করা হয়।

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

নিম্নলিখিত HTML সামগ্রী আটকান content

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

কনফিগারেশন ফাইলটি সংরক্ষণ করুন এবং প্রস্থান করুন।

পদক্ষেপ 3: উবুন্টুতে একটি এনগিনেক্স সার্ভার ব্লক তৈরি করুন

এনগিনেক্স সার্ভার ব্লকগুলি /ইত্যাদি/এনগিনেক্স/সাইটগুলি উপলব্ধ ডিরেক্টরিতে অবস্থিত। ডিফল্ট Nginx সার্ভার ব্লকটি হ'ল /etc/nginx/সাইটগুলি উপলব্ধ/ডিফল্ট যা /var/www/html/index.nginx-debian.html এ ডিফল্ট এইচটিএমএল ফাইল পরিবেশন করে।

আমাদের ক্ষেত্রে, আমাদের এমন একটি সার্ভার ব্লক তৈরি করতে হবে যা আমরা আগে তৈরি করা index.html ফাইলে সামগ্রীটি পরিবেশন করবে।

সুতরাং, প্রদর্শিত সার্ভার ব্লক ফাইল তৈরি করুন।

$ 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/সাইট-সক্ষম/ ডিরেক্টরিতে সিমিলিংক করতে হবে।

$ 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 ডিরেক্টরিতে সামগ্রী সরবরাহ করছে কিনা তা নিশ্চিত করতে আপনার ওয়েব ব্রাউজারটি খুলুন এবং আপনার সার্ভারের ডোমেন নামটি ব্রাউজ করুন:

http://domain-name

প্রদর্শিত হিসাবে আপনার সার্ভার ব্লকের HTML ফাইলের মধ্যে থাকা সামগ্রী পাওয়া উচিত।

এই গাইডটিতে আমরা আপনাকে উবুন্টু লিনাক্সে একটি একক ডোমেন ব্যবহার করে কীভাবে একটি এনগিনেক্স সার্ভার ব্লক সেট আপ করতে হবে তা দেখিয়েছি। আপনি বিভিন্ন ডোমেনের জন্য একই পদক্ষেপ পুনরাবৃত্তি করতে পারেন এবং এখনও একই ফলাফল অর্জন করতে পারেন। আমরা আশা করি যে গাইডটি অন্তর্দৃষ্টিপূর্ণ ছিল।