مقدمه
MongoDB که با نام Mongo هم شناخته میشود، یک پایگاه داده سندمحور متنباز است که در بسیاری از برنامههای وب مدرن استفاده میشود. این دیتابیس در دسته NoSQL قرار میگیرد؛ زیرا برخلاف پایگاههای داده رابطهای، از ساختار جدولی سنتی استفاده نمیکند.
به جای آن، MongoDB از اسناد شبیه JSON با ساختار پویا استفاده میکند. یعنی برخلاف دیتابیسهای رابطهای، لازم نیست قبل از افزودن دادهها، ساختار (Schema) مشخصی تعریف کنید و هر زمان که نیاز باشد میتوانید ساختار دادهها را تغییر دهید.
در این آموزش یاد میگیرید چگونه MongoDB را روی سرور CentOS 8 نصب کنید، عملکرد آن را تست کنید و آن را به عنوان یک سرویس systemd مدیریت نمایید.
پیشنیازها
برای انجام این آموزش نیاز دارید:
- یک سرور با سیستمعامل CentOS 8
- یک کاربر غیر root با دسترسی sudo
- فایروال firewalld فعال و تنظیمشده
مرحله اول — نصب MongoDB
بهصورت پیشفرض، بسته رسمی MongoDB در مخازن استاندارد CentOS وجود ندارد. بنابراین باید مخزن رسمی MongoDB را به سیستم اضافه کنید.
ابتدا ویرایشگر nano را نصب کنید:
سپس فایل مخزن MongoDB را ایجاد کنید:
و محتوای زیر را داخل آن قرار دهید:
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
این تنظیمات مشخص میکند که DNF بستههای MongoDB را از مخزن رسمی آن دریافت کند.
بعد از ذخیره فایل، بررسی کنید مخزن شناسایی شده باشد:
اگر همهچیز درست باشد، در خروجی باید مخزن mongodb-org را ببینید.
اکنون MongoDB را نصب کنید:
مرحله دوم — غیرفعال کردن Transparent Huge Pages برای بهبود عملکرد
در CentOS 8 قابلیتی به نام Transparent Huge Pages (THP) به صورت پیشفرض فعال است، اما MongoDB توصیه میکند آن را غیرفعال کنید؛ چون ممکن است عملکرد دیتابیس را کاهش دهد.
یک سرویس systemd برای غیرفعال کردن THP ایجاد کنید:
و این محتوا را داخل آن قرار دهید:
Description=Disable Transparent Huge Pages (THP)
After=sysinit.target local-fs.target
Before=mongod.service
[Service]
Type=oneshot
ExecStart=/bin/sh -c ‘echo never | tee /sys/kernel/mm/transparent_hugepage/enabled > /dev/null’
[Install]
WantedBy=basic.target
سپس سرویس را بارگذاری و اجرا کنید:
sudo systemctl start disable-thp.service
sudo systemctl enable disable-thp
برای اطمینان از غیرفعال شدن THP:
اگر خروجی چیزی شبیه زیر باشد یعنی THP غیرفعال شده:
مرحله سوم — راهاندازی سرویس MongoDB و تست آن
حالا سرویس MongoDB را اجرا کنید:
و وضعیت آن را بررسی کنید:
اگر سرویس فعال باشد، خروجی مشابه زیر میبینید:
برای اینکه MongoDB بعد از هر بار روشن شدن سرور بهصورت خودکار اجرا شود:
برای تست عملکرد MongoDB دستور زیر را اجرا کنید:
اگر در خروجی مقدار زیر را دیدید یعنی MongoDB به درستی کار میکند:
مرحله چهارم — مدیریت سرویس MongoDB
از آنجا که MongoDB به عنوان سرویس systemd نصب شده، میتوانید با دستورات زیر آن را مدیریت کنید:
بررسی وضعیت:
متوقف کردن:
شروع مجدد:
ریاستارت:
غیرفعال کردن اجرای خودکار:
فعال کردن مجدد اجرای خودکار:
نتیجهگیری
در این آموزش یاد گرفتید چگونه:
- مخزن رسمی MongoDB را به CentOS 8 اضافه کنید
- MongoDB را نصب کنید
- THP را برای بهبود عملکرد غیرفعال کنید
- سرویس MongoDB را اجرا و مدیریت کنید
به عنوان گام بعدی، پیشنهاد میشود تنظیمات امنیتی MongoDB را انجام دهید تا سرور دیتابیس شما در برابر دسترسیهای غیرمجاز محافظت شود.
نظرات کاربران