اطلاعات تماس

تهران ، آیت الله کاشانی ، پلاک 160 واحد 27

92001474 - 021

info@negarnovin.com

ناحیه کاربری

در این مقاله با شما هستیم با آموزش نصب mongoDB پس تا انتهای این مطلب مثل همیشه مارا همراهی کنید.

آموزش نصب mongoDB

در واقع با آموزش زیر MongoDB Community Edition را روی Red Hat یا CentOS نصب می کنیم

نکته مهم : MongoDB Atlas یک گزینه سرویس میزبانی شده MongoDB در فضای ابری است که نیازی به نصب سربار ندارد و یک ردیف رایگان برای شروع ارائه می دهد.

بررسی اجمالی
از این آموزش برای نصب MongoDB 5.0 Community Edition بر روی Red Hat Enterprise Linux، CentOS Linux یا Oracle Linux با استفاده از مدیریت بسته yum می باشد.

MongoDB فقط از نسخه های ۶۴ بیتی این پلتفرم ها پشتیبانی می کند.

MongoDB 5.0 Community Edition در RHEL / CentOS / Oracle همچنین از معماری ARM64 در پلتفرم های منتخب پشتیبانی می کند.

MongoDB Community Edition را نصب کنید
برای نصب MongoDB Community Edition با استفاده از مدیریت بسته yum این مراحل را دنبال کنید.

پیکربندی سیستم مدیریت بسته (yum) :

یک فایل /etc/yum.repos.d/mongodb-org-5.0.repo ایجاد کنید تا بتوانید MongoDB را مستقیماً با استفاده از yum نصب کنید:

[mongodb-org-5.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/5.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-5.0.asc

همچنین می توانید فایل های .rpm را مستقیماً از سایت دانلود کنید
مخزن MongoDB
. دانلودها بر اساس نسخه Red Hat / CentOS (به عنوان مثال ۷)، سپس نسخه انتشار MongoDB (به عنوان مثال ۵.۰)، سپس معماری (مانند x86_64) سازماندهی می شوند.

قبل از MongoDB 5.0، نسخه های انتشاری MongoDB با اعداد فرد، مانند ۴.۳، نسخه های توسعه بودند. با شروع MongoDB 5.1، MongoDB دارای انتشار سریع سه ماهه است. برای اطلاعات بیشتر در مورد تفاوت های نسخه های پشتیبانی سریع و بلند مدت

بسته های MongoDB را نصب کنید :

سرور مجازی فرانسه

با دستور زیر می توانید این کار را انجام دهید

sudo yum install -y mongodb-org

همچنین، برای نصب نسخه خاصی از MongoDB، هر بسته کامپوننت را به صورت جداگانه مشخص کنید و شماره نسخه را به نام بسته اضافه کنید، مانند مثال زیر:

sudo yum install -y mongodb-org-5.0.8 mongodb-org-database-5.0.8 mongodb-org-server-5.0.8 mongodb-org-shell-5.0.8 mongodb-org-mongos-5.0.8 mongodb-org-tools-5.0.8

شما می توانید هر نسخه موجود MongoDB را مشخص کنید. با این حال yum بسته ها را زمانی که نسخه جدیدتر در دسترس قرار می گیرد ارتقا می دهد. برای جلوگیری از ارتقاء ناخواسته، بسته را پین کنید. برای پین کردن بسته، دستور exclude زیر را به فایل /etc/yum.conf خود اضافه کنید:

exclude=mongodb-org,mongodb-org-database,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools

MongoDB Community Edition را اجرا کنید
پیش نیازها
حد نصاب
بیشتر سیستم‌عامل‌های شبه یونیکس، منابع سیستمی را که ممکن است یک فرآیند استفاده کند، محدود می‌کنند. این محدودیت ها ممکن است بر عملکرد MongoDB تأثیر منفی بگذارد و باید تنظیم شوند. تنظیمات ulimit UNIX را برای تنظیمات توصیه شده برای پلتفرم خود ببینید.

توجه داشته باشید
با شروع در MongoDB 4.4، اگر مقدار نهایی برای تعداد فایل های باز کمتر از ۶۴۰۰۰ باشد، یک خطای راه اندازی ایجاد می شود.

مسیرهای دایرکتوری
برای استفاده از دایرکتوری های پیش فرض
به طور پیش فرض، MongoDB با استفاده از حساب کاربری mongod اجرا می شود و از دایرکتوری های پیش فرض زیر استفاده می کند:

/var/lib/mongo (دایرکتوری داده ها)
/var/log/mongodb (دایرکتوری log)
مدیر بسته، دایرکتوری های پیش فرض را در حین نصب ایجاد می کند. مالک و نام گروه mongod هستند.

برای استفاده از دایرکتوری های غیر پیش فرض
برای استفاده از دایرکتوری داده و/یا دایرکتوری گزارش غیر از دایرکتوری های پیش فرض:

دایرکتوری یا دایرکتوری های جدید ایجاد کنید.
فایل پیکربندی /etc/mongod.conf را ویرایش کنید و فیلدهای زیر را مطابق با آن تغییر دهید:

storage.dbPath برای تعیین یک مسیر فهرست داده جدید (به عنوان مثال /some/data/directory)
systemLog.path برای تعیین مسیر فایل لاگ جدید (به عنوان مثال /some/log/directory/mongod.log)
اطمینان حاصل کنید که کاربری که MongoDB را اجرا می کند به دایرکتوری یا دایرکتوری ها دسترسی دارد:

sudo chown -R mongod:mongod <directory>

اگر کاربری را که فرآیند MongoDB را اجرا می کند تغییر دهید، باید به کاربر جدید دسترسی به این دایرکتوری ها بدهید.

در صورت اجرا، SELinux را پیکربندی کنید

مهم
اگر SELinux در حالت اعمال است، باید خط مشی SELinux خود را برای MongoDB با انجام دو تنظیم خط مشی زیر سفارشی کنید:

اجازه دسترسی به cgroup
خط مشی فعلی SELinux به فرآیند MongoDB اجازه دسترسی به /sys/fs/cgroup را نمی دهد، که برای تعیین حافظه موجود در سیستم شما لازم است. اگر قصد دارید SELinux را در حالت اجباری اجرا کنید، باید تنظیمات زیر را در خط مشی SELinux خود انجام دهید:

مطمئن شوید که سیستم شما بسته چک سیاست را نصب کرده است:

sudo yum install checkpolicy

یک فایل خط مشی سفارشی mongodb_cgroup_memory.te ایجاد کنید:

cat > mongodb_cgroup_memory.te <<EOF
module mongodb_cgroup_memory 1.0;

require {
type cgroup_t;
type mongod_t;
class dir search;
class file { getattr open read };
}

#============= mongod_t ==============
allow mongod_t cgroup_t:dir search;
allow mongod_t cgroup_t:file { getattr open read };
EOF

پس از ایجاد، ماژول خط مشی سفارشی را با اجرای این سه دستور کامپایل و بارگذاری کنید:

checkmodule -M -m -o mongodb_cgroup_memory.mod mongodb_cgroup_memory.te
semodule_package -o mongodb_cgroup_memory.pp -m mongodb_cgroup_memory.mod
sudo semodule -i mongodb_cgroup_memory.pp

فرآیند MongoDB اکنون می‌تواند به فایل‌های صحیح با SELinux در حالت اجرا دسترسی پیدا کند.

اجازه دسترسی به netstat برای FTDC
خط‌مشی فعلی SELinux به فرآیند MongoDB اجازه نمی‌دهد که /proc/net/netstat را باز کرده و بخواند، که برای ضبط داده‌های تشخیصی تمام وقت (FTDC) لازم است. اگر قصد دارید SELinux را در حالت اجباری اجرا کنید، باید تنظیمات زیر را در خط مشی SELinux خود انجام دهید:

مطمئن شوید که سیستم شما بسته چک سیاست را نصب کرده است:

sudo yum install checkpolicy

یک فایل خط مشی سفارشی mongodb_proc_net.te ایجاد کنید:

cat > mongodb_proc_net.te <<EOF
module mongodb_proc_net 1.0;

require {
type cgroup_t;
type configfs_t;
type file_type;
type mongod_t;
type proc_net_t;
type sysctl_fs_t;
type var_lib_nfs_t;

class dir { search getattr };
class file { getattr open read };
}

#============= mongod_t ==============
allow mongod_t cgroup_t:dir { search getattr } ;
allow mongod_t cgroup_t:file { getattr open read };
allow mongod_t configfs_t:dir getattr;
allow mongod_t file_type:dir { getattr search };
allow mongod_t file_type:file getattr;
allow mongod_t proc_net_t:file { open read };
allow mongod_t sysctl_fs_t:dir search;
allow mongod_t var_lib_nfs_t:dir search;
EOF

پس از ایجاد، ماژول خط مشی سفارشی را با اجرای این سه دستور کامپایل و بارگذاری کنید:

checkmodule -M -m -o mongodb_proc_net.mod mongodb_proc_net.te
semodule_package -o mongodb_proc_net.pp -m mongodb_proc_net.mod
sudo semodule -i mongodb_proc_net.pp

مهم
علاوه بر موارد فوق، اگر SELinux در حالت اعمال است، باید سیاست SELinux خود را در دو مورد زیر سفارشی کنید:

شما به جای استفاده از dbPath، systemLog.path، یا pidFilePath پیش‌فرض در RHEL 7.0 یا جدیدتر، از یک مسیر فهرست سفارشی استفاده می‌کنید و/یا
شما به جای استفاده از پورت های پیش فرض MongoDB از یک پورت سفارشی استفاده می کنید.

استفاده از یک مسیر فهرست سفارشی MongoDB
خط مشی SELinux را به روز کنید تا به سرویس mongod اجازه دهید از دایرکتوری جدید استفاده کند:

sudo semanage fcontext -a -t <type> </some/MongoDB/directory.*>

که در آن یکی از انواع زیر را به صورت مناسب مشخص کنید:

mongod_var_lib_t برای فهرست داده ها
mongod_log_t برای فهرست فایل لاگ
mongod_var_run_t برای فهرست فایل pid

خط مشی کاربر SELinux را برای دایرکتوری جدید به روز کنید:

sudo chcon -Rv -u system_u -t <type> </some/MongoDB/directory>

که در آن یکی از انواع زیر را به صورت مناسب مشخص کنید:

mongod_var_lib_t برای فهرست داده ها
mongod_log_t برای دایرکتوری log
mongod_var_run_t برای فهرست فایل pid
سیاست های به روز شده SELinux را در دایرکتوری اعمال کنید:

sudo restorecon -R -v </some/MongoDB/directory>

روش دوم :

برای اجرای MongoDB Community Edition بر روی سیستم خود این مراحل را دنبال کنید. این دستورالعمل ها فرض می کنند که شما از تنظیمات پیش فرض استفاده می کنید.

سیستم Init

برای اجرا و مدیریت فرآیند mongod خود، از سیستم init داخلی سیستم عامل خود استفاده خواهید کرد. نسخه های اخیر لینوکس تمایل به استفاده از systemd دارند (که از دستور systemctl استفاده می کند)، در حالی که نسخه های قدیمی لینوکس تمایل دارند از System V init (که از دستور سرویس استفاده می کند) استفاده کنند.

اگر مطمئن نیستید که پلتفرم شما از کدام سیستم init استفاده می کند، دستور زیر را اجرا کنید:

ps –no-headers -o comm 1

تبریک می گوئیم آموزش نصب mongoDB به پایان رسید با مقالات بعدی ما را حتما همانند همیشه همیاری و همدلی کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *