একটি ভিপিএস যা এক মিনিটের মধ্যে বুট হয় দুর্দান্ত। একটি VPS যা আসলে সুরক্ষিত, আপডেট করা এবং আপনার অ্যাপ, বট বা গেম ব্যাকএন্ড চালানোর জন্য প্রস্তুত তা গুরুত্বপূর্ণ। আপনি যদি সঠিক উপায়ে লিনাক্স ভিপিএস কীভাবে স্থাপন করবেন তা অনুসন্ধান করছেন, লক্ষ্যটি কেবল অনলাইনে একটি সার্ভার পাওয়া নয় - এটি পরবর্তীতে সহজ সমস্যা ছাড়াই একটি সার্ভার অনলাইনে পাওয়া।
বেশিরভাগ ব্যবহারকারীর জন্য, স্থাপনা চারটি পর্যায়ে নেমে আসে: সঠিক বেস ইমেজ নির্বাচন করুন, অ্যাক্সেস লক ডাউন করুন, সফ্টওয়্যার স্ট্যাক ইনস্টল করুন এবং পরিষেবাটিকে পুনরায় চালু করুন এবং ট্র্যাফিক স্পাইক করুন৷ এর জন্য আপনার কোনো এন্টারপ্রাইজ প্লেবুকের প্রয়োজন নেই। আপনার একটি পরিষ্কার প্রক্রিয়া দরকার যা প্রতিবার কাজ করে।
সময় নষ্ট না করে কীভাবে লিনাক্স ভিপিএস স্থাপন করবেন
দ্রুততম স্থাপনাগুলি সাধারণত একই জায়গায় ব্যর্থ হয়। লোকেরা ভুল ডিস্ট্রো বাছাই করে, পাসওয়ার্ড লগইন সক্ষম করে রাখে, ফায়ারওয়াল নিয়মগুলি এড়িয়ে যায় এবং মেমরি, ডিস্ক বা পোর্ট চেক করার আগে প্যাকেজ ইনস্টল করা শুরু করে। এটি একটি বটনেট থেকে প্রথম লগইন প্রচেষ্টা, প্রথম ভাঙা নির্ভরতা, বা প্রথম রিবুট না হওয়া পর্যন্ত কাজ করে।
আপনি সংযোগ করার আগে একটি ভাল পদ্ধতি শুরু হয়।
সঠিক লিনাক্স ডিস্ট্রিবিউশন বেছে নিন
উবুন্টু একটি কারণে ডিফল্ট পছন্দ। এটিতে বিস্তৃত প্যাকেজ সমর্থন, বড় সম্প্রদায়ের ডকুমেন্টেশন এবং নতুনদের জন্য কম চমক রয়েছে। আপনি যদি একটি Node.js অ্যাপ, Python API স্থাপন করেন,ডিসকর্ড বট, বা লাইটওয়েট ওয়েব প্যানেল, উবুন্টু 22.04 LTS বা 24.04 LTS সাধারণত নিরাপদ বিকল্প।
আপনি যদি একটি ক্ষীণ পরিবেশ এবং কিছুটা বেশি রক্ষণশীল প্যাকেজ আপডেট চান তবে ডেবিয়ান একটি শক্তিশালী বাছাই। আপনি যদি RHEL-স্টাইল সিস্টেমের সাথে স্বাচ্ছন্দ্য বোধ করেন বা আপনি একটি বিদ্যমান প্রোডাকশন সেটআপের সাথে মেলে তাহলে রকি লিনাক্স বা আলমালিনাক্স অর্থবোধ করতে পারে।
কোন সার্বজনীন বিজয়ী নেই. উবুন্টু বেশিরভাগ লোকের জন্য দ্রুত। ডেবিয়ান কিছু কাজের চাপের জন্য ক্লিনার। সঠিক উত্তর নির্ভর করে আপনি কি চালাচ্ছেন এবং আপনি নিজে কতটা লিনাক্স প্রশাসন করতে চান তার উপর।
প্রকৃত কাজের চাপের জন্য VPS এর আকার দিন
একটি ছোট বট, ব্যক্তিগত ওয়েব অ্যাপ বা পরীক্ষার পরিবেশের জন্য একটি বিশাল মেশিনের প্রয়োজন নেই। কিন্তু গেম প্যানেল, একাধিক কন্টেইনার, ডাটাবেস এবং পাবলিক-মুখী পরিষেবাগুলি দ্রুত RAM খেতে পারে। CPUও গুরুত্বপূর্ণ, বিশেষ করে রিয়েল-টাইম কাজের চাপ, অটোমেশন কাজ এবং ট্রাফিক বিস্ফোরণের জন্য।
এখানে সস্তা অবকাঠামো এখনও গুরুতর অবকাঠামো হতে পারে। আপনি যদি একটি সম্প্রদায় প্রকল্প, স্টার্টআপ ধারণা, বা গেম-সম্পর্কিত পরিষেবার জন্য স্থাপন করেন, আপনি আপডেট, লগ, ব্যাকআপ এবং পটভূমি প্রক্রিয়াগুলির জন্য যথেষ্ট হেডরুম চান - শুধুমাত্র বুট করার জন্য যথেষ্ট নয়।
প্রথম লগইন: কিছু ইনস্টল করার আগে সার্ভার সুরক্ষিত করুন
একবার VPS এর ব্যবস্থা করা হলে, IP ঠিকানা এবং রুট শংসাপত্র বা আপনার আপলোড করা SSH কী ব্যবহার করে SSH-এর সাথে সংযোগ করুন। যদি আপনার প্রদানকারী স্থাপনার সময় কী-ভিত্তিক অ্যাক্সেস অফার করে, তাহলে শুরু থেকেই এটি ব্যবহার করুন। এটি অবিলম্বে সবচেয়ে সাধারণ দুর্বল পয়েন্টগুলির একটিকে সরিয়ে দেয়।
লগইন করার পরে, প্রথম কমান্ডটি ডকার বা নোড ইনস্টল করা উচিত নয়। প্রথমে সিস্টেম আপডেট করুন:
```bash apt update && apt upgrade -y ```
আপনি যদি ডেবিয়ান বা উবুন্টুতে থাকেন তবে এটি প্যাচের প্রথম তরঙ্গ পরিচালনা করে। অন্যান্য বিতরণে, সমতুল্য প্যাকেজ ম্যানেজার ব্যবহার করুন।
একটি নন-রুট ব্যবহারকারী তৈরি করুন
রুট হিসাবে সবকিছু চালানো সহজ এবং অপ্রয়োজনীয়। একটি নতুন ব্যবহারকারী তৈরি করুন, এটিকে সুডো অ্যাক্সেস দিন এবং দৈনিক প্রশাসনের জন্য সেই অ্যাকাউন্টটি ব্যবহার করুন।
``bash adduser deploy usermod -aG sudo deploy ```
তারপর প্রয়োজন হলে সেই ব্যবহারকারীর অ্যাকাউন্টে আপনার SSH কী অনুলিপি করুন।
সম্ভব হলে পাসওয়ার্ড প্রমাণীকরণ অক্ষম করুন
পাসওয়ার্ডের চেয়ে এসএসএইচ কী দ্রুত এবং নিরাপদ। আপনার SSH কনফিগারেশন সম্পাদনা করুন:
```ব্যাশ ন্যানো /etc/ssh/sshd_config ```
এই মানগুলি সেট বা নিশ্চিত করুন:
``টেক্সট পারমিটরুটলগইন কোনো পাসওয়ার্ড প্রমাণীকরণ নেই ```
তারপর SSH পুনরায় চালু করুন:
``bash systemctl রিস্টার্ট ssh ```
আপনি কী-ভিত্তিক লগইন কাজ নিশ্চিত না হওয়া পর্যন্ত এটি করবেন না, অথবা আপনি নিজেকে লক আউট করতে পারেন।
একটি ফায়ারওয়াল সক্রিয় করুন
প্রতিটি পোর্ট খোলা থাকা একটি ভিপিএস শব্দের জন্য জিজ্ঞাসা করছে। দ্রুত বেসলাইনের জন্য উবুন্টু বা ডেবিয়ানে UFW ব্যবহার করুন:
``bash ufw অনুমতি দেয় OpenSSH ufw অনুমতি দেয় 80 ufw অনুমতি দেয় 443 ufw সক্ষম করে ```
আপনি যদি এখনও কোনও ওয়েবসাইট হোস্ট না করেন তবে এখনও ওয়েব পোর্ট খুলবেন না। শুধুমাত্র আপনার আবেদনের যা প্রয়োজন তা মঞ্জুর করুন। একটি বট বা ব্যাকএন্ড পরিষেবার জন্য, আপনার কোনো পাবলিক অ্যাপ পোর্টের প্রয়োজন হবে না যদি এটি শুধুমাত্র আউটবাউন্ড সংযোগ করে।
আপনি আসলে কি চালান তার উপর ভিত্তি করে স্ট্যাক ইনস্টল করুন
এখানেই অনেক গাইড অস্পষ্ট হয়ে যায়। সফ্টওয়্যার স্ট্যাক কাজের চাপের উপর নির্ভর করে। একটি ডিসকর্ড বটের একটি ওয়েব অ্যাপ, গেম কন্ট্রোল প্যানেল বা প্রাইভেট এপিআইয়ের চেয়ে আলাদা প্রয়োজন রয়েছে।
আপনি যদি একটি Node.js পরিষেবা স্থাপন করেন, তাহলে একটি বর্তমান সমর্থিত সংস্করণ সহ নোড ইনস্টল করুন৷ আপনি যদি পাইথন চালান তবে পাইথন, পিপ এবং ভেনভ ইনস্টল করুন। যদি আপনার অ্যাপটি কন্টেইনারের উপর নির্ভর করে তবে ডকার এবং ডকার কম্পোজ ইনস্টল করুন। আপনার যদি একটি ডাটাবেসের প্রয়োজন হয়, তবে এটি একই VPS-এর অন্তর্গত নাকি একটি পৃথক উদাহরণে তা নির্ধারণ করুন৷
যে শেষ অংশ গুরুত্বপূর্ণ. একটি VPS-এ সবকিছু রাখা সস্তা এবং সহজ, কিন্তু এর অর্থ হল একটি মেশিন অ্যাপ লজিক, ডাটাবেস I/O, লগ এবং ব্যাকআপগুলি পরিচালনা করে। ছোট স্থাপনার জন্য যে জরিমানা. শখের ট্রাফিকের বাইরে ক্রমবর্ধমান যেকোনো কিছুর জন্য, বিভাজন পরিষেবাগুলি স্থিতিশীলতার উন্নতি করে।
উদাহরণ: মৌলিক অ্যাপ নির্ভরতা
উবুন্টুতে একটি সাধারণ ওয়েব অ্যাপ বা বটের জন্য, আপনি ইনস্টল করতে পারেন:
``bash apt install -y nginx git curl ```
তারপর আপনার ভাষা রানটাইম বা কন্টেইনার টুলিং যোগ করুন। বেস ইনস্টল ছোট রাখুন. প্রতিটি অতিরিক্ত প্যাকেজ আরেকটি আপডেট পাথ এবং বজায় রাখার জন্য আরেকটি জিনিস।
ক্লোন বা আপনার প্রকল্প আপলোড
সিস্টেমটি প্রস্তুত হয়ে গেলে, Git, SFTP বা আপনার ডিপ্লয়মেন্ট পাইপলাইনের সাথে সার্ভারে আপনার কোড সরান। আপনার পরিবেশের ভেরিয়েবলগুলিকে কোডবেসের বাইরে রাখুন। একটি `.env` ফাইল বা একটি সঠিক গোপনীয় পদ্ধতি ব্যবহার করুন এবং অ্যাপটি API কী, বট টোকেন বা ডাটাবেস শংসাপত্র সংরক্ষণ করলে ফাইলের অনুমতি লক ডাউন করুন।
যে কেউ ডিসকর্ড বট বা সম্প্রদায় পরিষেবা চালাচ্ছেন, এটি ঐচ্ছিক নয়। একটি টোকেন হারানো অ্যাপ্লিকেশনের নিয়ন্ত্রণ হারানোর একটি দ্রুত উপায়।
পরিষেবাটি অনলাইনে থাকতে দিন
লগআউট করার পরে মারা যাওয়া একটি স্থাপন করা অ্যাপ স্থাপন করা হয় না। এটা একটা টেস্ট রান।
দীর্ঘ-চলমান প্রক্রিয়াগুলির জন্য, Node.js অ্যাপগুলির জন্য systemd বা PM2 এর মতো একটি প্রক্রিয়া পরিচালক ব্যবহার করুন। PM2 সহজ এবং জনপ্রিয়, কিন্তু systemd OS এর মধ্যে তৈরি করা হয়েছে এবং আপনাকে আরও কঠোর নিয়ন্ত্রণ দেয়।
একটি মৌলিক সিস্টেমড পরিষেবা ফাইল বুট করার সময় আপনার অ্যাপটি শুরু করতে পারে, ক্র্যাশ হওয়ার পরে এটি পুনরায় চালু করতে পারে এবং লগগুলিকে এক জায়গায় রাখতে পারে। এটি একটি টার্মিনাল অধিবেশন খোলার চেয়ে একটি ভাল ডিফল্ট এবং সেরা জন্য আশা.
একটি বিপরীত প্রক্সি হিসাবে Nginx ব্যবহার করুন
যদি আপনার অ্যাপ্লিকেশনটি 3000 বা 5000 এর মতো একটি অভ্যন্তরীণ পোর্টে শোনে তবে এটির সামনে Nginx রাখুন। এটি আপনাকে পোর্ট 80 এবং 443-এ ক্লিনার পাবলিক অ্যাক্সেস, সহজ SSL হ্যান্ডলিং এবং হেডার, বাফারিং এবং অনুরোধের সীমার উপর আরও ভাল নিয়ন্ত্রণ দেয়।
এটি আপনার অ্যাপ প্রক্রিয়াটিকে সর্বজনীন প্রান্তের বাইরে রাখে। এটি নিরাপত্তা এবং নির্ভরযোগ্যতা উভয়ের জন্যই ভালো।
তাড়াতাড়ি SSL যোগ করুন
আপনার পরিষেবাতে যদি ড্যাশবোর্ড, API, বা সর্বজনীন এন্ডপয়েন্ট থাকে, তাহলে শুরু থেকেই HTTPS ব্যবহার করুন৷ স্ব-স্বাক্ষরিত শংসাপত্রগুলি ব্যক্তিগত পরীক্ষার জন্য ঠিক আছে, তবে পাবলিক-মুখী পরিষেবাগুলি বিশ্বস্ত SSL ব্যবহার করা উচিত। এটি ব্রাউজার সতর্কতা প্রতিরোধ করে, লগইন সেশনগুলিকে রক্ষা করে এবং পরবর্তীতে চাপের মধ্যে নিরাপত্তা বেসিকগুলি ঠিক করা এড়িয়ে যায়৷
নিরীক্ষণ, ব্যাকআপ এবং আপডেটগুলি স্থাপনার অংশ
অ্যাপটি সাড়া দেওয়া শুরু করার মুহূর্ত হিসাবে লোকেরা সাধারণত স্থাপনাকে বিবেচনা করে। অনুশীলনে, ডিস্কের ব্যবহার বেড়ে গেলে, মেমরি স্পাইক বা একটি আপডেট নির্ভরতা ভাঙলে পরের সপ্তাহে কী ঘটবে তা ডিপ্লোয়মেন্ট অন্তর্ভুক্ত করে।
এখনই এগুলি পরীক্ষা করুন: উপলব্ধ RAM, CPU লোড, ডিস্ক স্পেস, চলমান পরিষেবা এবং লগ। আপনার অ্যাপ লগ কোথায় থাকে তা জানুন। কীভাবে আপনার পরিষেবা পরিষ্কারভাবে পুনরায় চালু করবেন তা শিখুন। পোর্ট শুনছে কিনা তা যাচাই করতে শিখুন।
কয়েকটি কমান্ড অনেক দূরে যায়:
```ব্যাশ ফ্রি -h df -h systemctl স্থিতি your-service journalctl -u your-service -f ss -tulpn ```
এমনকি ছোট VPS স্থাপনার ক্ষেত্রেও ব্যাকআপ গুরুত্বপূর্ণ। আপনি যদি একটি ডাটাবেস, কনফিগার ফাইল, গেম ডেটা বা ব্যবহারকারীর আপলোডগুলি হোস্ট করেন তবে আপনার এটির প্রয়োজনের আগে একটি ব্যাকআপ রুটিন তৈরি করুন৷ দৈনিক স্ন্যাপশটগুলি দুর্দান্ত, তবে রপ্তানি করা ডাটাবেস ডাম্প এবং অফ-সার্ভার কপিগুলি নিরাপদ। স্ন্যাপশট রোলব্যাক সাহায্য. ব্যাকআপ পুনরুদ্ধারের সাথে সাহায্য করে।
আপডেট একই মানসিকতা প্রয়োজন. স্বয়ংক্রিয় আপডেটগুলি সুরক্ষা প্যাচগুলির ঝুঁকি হ্রাস করে, তবে তারা আপনার অ্যাপের সাথে ঘনিষ্ঠভাবে সংযুক্ত প্যাকেজগুলিতে আপনাকে অবাক করে দিতে পারে৷ ম্যানুয়াল আপডেটগুলি আরও নিয়ন্ত্রণ দেয়, তবে শুধুমাত্র আপনি যদি সেগুলি করেন। কোন নিখুঁত পছন্দ আছে. আপনি ধারাবাহিকভাবে বজায় রাখবেন একটি চয়ন করুন.
আপনি যখন একটি লিনাক্স ভিপিএস স্থাপন করেন তখন সাধারণ ভুল
বেশিরভাগ স্থাপনার সমস্যা নাটকীয় নয়। তারা স্ট্যাক আপ যে ছোট oversights হয়.
একটি সাধারণ ভুল হল খুব কম র্যামে স্থাপন করা, তারপর ওওএম প্রক্রিয়ার দ্বারা অ্যাপটি মারা গেলে লিনাক্সকে দোষ দেওয়া। অন্যটি ডাটাবেস পোর্টগুলিকে প্রকাশ্যে প্রকাশ করছে যখন এটি করার কোন কারণ নেই। তৃতীয়টি কম-মেমরি সিস্টেমে সম্পূর্ণরূপে অদলবদল এড়িয়ে যাচ্ছে। অদলবদল খারাপ আকারের জন্য একটি সমাধান নয়, তবে ছোট VPS দৃষ্টান্তগুলিতে এটি ছোট স্পাইকের সময় আপনাকে শ্বাস নেওয়ার জায়গা দিতে পারে।
আরেকটি ঘন ঘন সমস্যা হল DNS এবং সময় সেটিংস উপেক্ষা করা। হোস্টনাম, DNS রেকর্ড বা সার্ভারের সময় ভুল হলে, SSL ইস্যু, অ্যাপ কলব্যাক এবং নির্ধারিত কাজগুলি সবই অদ্ভুত উপায়ে ভেঙে যেতে পারে। স্থাপনা শুধু প্যাকেজ এবং পোর্ট নয়। এটি পুরো অপারেটিং পরিবেশ।
আপনি যদি কম ঘর্ষণ সহ দ্রুত রোলআউট চান, তাত্ক্ষণিক সেটআপ, রুট অ্যাক্সেস এবং স্থিতিশীল কর্মক্ষমতার উপর দৃষ্টি নিবদ্ধ একটি প্রদানকারী ব্যবহার করে সাহায্য করে।ACLClouds, উদাহরণস্বরূপ, বট, গেম পরিষেবা এবং সর্বদা চালু সম্প্রদায় অবকাঠামোর মতো দ্রুত স্থাপনা এবং ব্যবহারিক কাজের চাপের চারপাশে নির্মিত।
চূড়ান্ত চিন্তা
সেরা লিনাক্স ভিপিএস স্থাপনা সবচেয়ে বেশি সরঞ্জাম সহ নয়। যখন আপনার বট সাড়া দেওয়া বন্ধ করে বা আপনার অ্যাপের ট্রাফিক লাফিয়ে পড়ে তখন আপনি সুরক্ষিত, বুঝতে এবং সকাল 3 টায় চালানো চালিয়ে যেতে পারেন। চর্বিহীন শুরু করুন, তাড়াতাড়ি অ্যাক্সেস লক ডাউন করুন এবং এমন একটি বেস থেকে তৈরি করুন যা আপনি অনুমান না করেই বজায় রাখতে পারেন।