ডেবিয়ান 10 এ সার্ভার ব্লক (ভার্চুয়াল হোস্টস) সহ এনগিনেক্স ইনস্টল করুন


এনগিনেক্স একটি অত্যন্ত জনপ্রিয় উচ্চ-পারফরম্যান্স ওয়েব সার্ভার যা বিপরীত প্রক্সি, লোড ব্যালেন্সিং, ক্যাশে এবং আরও অনেক কিছুর শক্তিকে একত্রিত করে। এটি কীভাবে কনফিগার করা হয়েছে তার উপর নির্ভর করে, এটি HTvers/HTTPS সার্ভারগুলির জন্য একটি বিপরীত প্রক্সি হিসাবে কাজ করতে পারে load

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

এই টিউটোরিয়ালে, আমরা আপনাকে দেবিয়ান 10 সার্ভারে একাধিক ডোমেন হোস্ট করার জন্য ভার্চুয়াল হোস্টের সাথে এনগিনেক্স ইনস্টল করার পদক্ষেপগুলি অনুসরণ করব।

আমরা শুরু করার আগে, নিম্নলিখিত প্রয়োজনীয়তা পূরণ হয়েছে তা নিশ্চিত করুন:

  1. দেবিয়ান ১০ এর একটি উদাহরণ
  2. সার্ভারের দিকে নির্দেশ করে একটি সম্পূর্ণ যোগ্য ডোমেন নেম (FQDN)
  3. এই নির্দেশিকাতে আমরা linux-console.net ডোমেন ব্যবহার করি একটি আইপি ঠিকানা 192.168.0.104 সহ একটি ডেবিয়ান 10 সিস্টেমের দিকে ইঙ্গিত করে
  4. একটি ভাল ইন্টারনেট সংযোগ

পদক্ষেপ 1: ডেবিয়ান 10 প্যাকেজ সংগ্রহস্থল আপডেট করুন

অন্য কিছুর আগে আমাদের আমাদের স্থানীয় প্যাকেজ সংগ্রহস্থলটি সর্বশেষ সংস্করণে আপডেট করতে হবে update এটি অর্জন করতে, sudo সুবিধাগুলি সহ নিয়মিত ব্যবহারকারী হিসাবে লগ ইন করুন এবং নীচের কমান্ডটি চালান।

$ sudo apt update -y

পদক্ষেপ 2: ডেবিয়ান 10 এ এনগিনেক্স ইনস্টল করুন

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

$ sudo apt install nginx -y

পদক্ষেপ 3: এনগিনেক্স ওয়েব সার্ভারের স্থিতি পরীক্ষা করা

আপনি যদি কোনও ত্রুটির মুখোমুখি না হন তবে Nginx ওয়েব সার্ভারটি সফলভাবে ইনস্টল করা হয়েছিল। আরও কনফিগারেশন করার আগে ওয়েব সার্ভারের স্থিতি যাচাই করা বুদ্ধিমানের কাজ।

Nginx এর স্থিতি পরীক্ষা করতে, সম্পাদন করুন:

$ systemctl status nginx

যদি ওয়েব সার্ভারটি চালু এবং চলমান থাকে তবে আপনি নীচের বিজ্ঞপ্তিটি পাবেন।

আপনি যদি Nginx ওয়েব সার্ভারটি পুনরায় চালু করতে চান তবে কমান্ডটি চালান।

$ systemctl restart nginx

Nginx বন্ধ করতে, কমান্ডটি জারি করুন।

$ systemctl stop nginx

ওয়েব সার্ভার শুরু করতে, চালান।

$ systemctl start nginx

বুট রান শুরু করার জন্য এনগিনেক্স ওয়েব সার্ভারটি কনফিগার করতে।

$ systemctl enable nginx

পদক্ষেপ 4: এনগিনেক্স পোর্ট খোলার জন্য ফায়ারওয়াল কনফিগার করুন

এনগিনেক্স সফলভাবে ইনস্টল ও চলমান থাকায় আমাদের পরিষেবাতে বিশেষত বহিরাগত ব্যবহারকারীদের ওয়েব অ্যাক্সেসের অনুমতি দেওয়া দরকার। আপনি যদি ইউএফডাব্লু ফায়ারওয়াল সক্ষম করে থাকেন তবে আপনাকে ফায়ারওয়ালের মাধ্যমে HTTP অ্যাক্সেসের অনুমতি দেওয়া দরকার।

এটি অর্জন করতে কমান্ডটি কার্যকর করুন।

$ sudo ufw allow 'Nginx HTTP'

এরপরে, পরিবর্তনগুলি প্রভাবিত করতে ফায়ারওয়ালটি পুনরায় লোড করুন।

$ sudo ufw reload

দুর্দান্ত, এখন আপনি যাচাই করতে পারবেন যে চালানোয় ফায়ারওয়ালের মাধ্যমে এইচটিটিপি অনুমোদিত।

$ sudo ufw status

উপরের স্নিপেট থেকে, আমরা পরিষ্কারভাবে দেখতে পারি যে এনজিএনএক্স এইচটিপিকে ইউএফডাব্লু ফায়ারওয়ালের মাধ্যমে অনুমতি দেওয়া হয়েছে।

পদক্ষেপ 5: এনগিনেক্স ওয়েব সার্ভার অ্যাক্সেস করা

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

http://server-IP-address

এটি একটি নিশ্চিতকরণ যা এনগিনেক্স প্রস্তুত এবং চলছে।

পদক্ষেপ 6: ডিবিয়ান 10 এ এনগিনেক্স সার্ভার ব্লকগুলি কনফিগার করা

এটি একটি alচ্ছিক পদক্ষেপ এবং যখন আপনি কোনও এনগিনেক্স ওয়েব সার্ভারে একাধিক ডোমেন হোস্ট করতে চান তখন দরকারী। এটি কাজ করার জন্য, আপনার ডেবিয়ান সার্ভারের দিকে আপনার একটি ডোমেন নাম নির্দেশ করা দরকার।

এই বিভাগের জন্য, আমরা linux-console.net ডোমেন নামটি ব্যবহার করব যিনি একটি রেকর্ডটি সার্ভারের আইপি 192.168.0.104 তে নির্দেশিত।

আপনি যখন নিজের সার্ভারের আইপি ঠিকানায় ডোমেনের নামটি নির্দেশ করবেন তখন ডোমেনের নামটি শীঘ্রই পরিবর্তিত হবে এবং আপনার ওয়েব সার্ভারে প্রদর্শিত হিসাবে প্রদর্শিত হবে।

আসুন এখন একটি সার্ভার ব্লক তৈরি করি।

প্রথমত, আসুন আমাদের ডোমেনের জন্য ডিরেক্টরি হিসাবে তৈরি করা যাক।

$ sudo mkdir -p /var/www/html/linux-console.net

তারপরে প্রদর্শিত ফাইলের মতো প্রয়োজনীয় মালিকানা নির্ধারণ করুন

$ sudo chown -R $USER:$USER /var/www/html/linux-console.net

এরপরে, গ্রুপ এবং জনসাধারণের ব্যবহারকারীদের যেমন দেখানো হয়েছে তেমনভাবে পড়ুন এবং সম্পাদনের অনুমতি নির্ধারণ করুন।

$ sudo chmod -R 755 /var/www/html/linux-console.net

আসুন এখন ভিএম টেক্সট এডিটর ব্যবহার করে একটি সাধারণ সূচক html নমুনা ওয়েবপৃষ্ঠা তৈরি করি।

$ sudo vim /var/www/html/linux-console.net/index.html

ফাইলটিতে কিছু নমুনা সামগ্রী যুক্ত করুন। এটি ব্রাউজারে প্রদর্শিত হবে।

<html>
    <head>
        <title>Welcome to Linux geeks</title>
    </head>
    <body>
        <h1>Success! Welcome to your new server block on Tecmint Nginx Web Server !</h1>
    </body>
</html>

সম্পাদকটি সংরক্ষণ করুন এবং প্রস্থান করুন

এই সামগ্রীটি পরিবেশন করার জন্য একটি সার্ভার ব্লক তৈরি করা দরকার।

আসুন একটি সার্ভার ব্লক তৈরি করি

$ vim  /etc/nginx/sites-available/linux-console.net

নিম্নলিখিত লিখিত সামগ্রীটি সার্ভার ব্লক ফাইলে অনুলিপি করুন এবং আটকান।

server {
        listen 80;
        listen [::]:80;

        root /var/www/html/linux-console.net;
        index index.html index.htm index.nginx-debian.html;

        server_name linux-console.net linux-console.net;

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

আপনার নিজের ডোমেন নাম দিয়ে ডোমেন নাম linux-console.net আপডেট করতে ভুলবেন না।

সার্ভার ব্লক ফাইলটি সক্রিয় করতে বা সক্ষম করতে প্রদর্শিত হিসাবে প্রতীকী লিঙ্ক তৈরি করুন।

$ sudo ln -s /etc/nginx/sites-available/linux-console.net /etc/nginx/sites-enabled/

এনগিনেক্সের সমস্ত সেটিংস সঠিকভাবে কনফিগার করা আছে তা যাচাই করতে, চালান।

$ sudo nginx -t

দুর্দান্ত, আমরা যেতে ভাল! অবশেষে Nginx পুনরায় আরম্ভ করুন।

$ sudo systemctl restart nginx

আপনার ব্রাউজারে বেরোন এবং রিফ্রেশ করুন এবং যদি সবকিছু ঠিকঠাক হয় তবে ব্রাউজারটি আপনার সার্ভার ব্লক ওয়েব পৃষ্ঠাকে প্রদর্শিত হিসাবে পরিবেশন করা উচিত।

পদক্ষেপ 7: এনগিনেক্স লগ ফাইল অ্যাক্সেস করা

আপনার সার্ভারে করা অনুরোধগুলি সম্পর্কে লগ ফাইলগুলি অ্যাক্সেস করতে, নীচের ফাইলটি অ্যাক্সেস করুন।

$ sudo vim /var/log/nginx/access.log 

আপনি যদি আপনার এনগিনেক্স ওয়েব সার্ভারে ত্রুটিগুলি ঘাঁটাচ্ছেন তবে ত্রুটির জন্য ফাইলটি পরীক্ষা করুন।

$ sudo vim /var/log/nginx/error.log

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