فصل جدید؛ پیکربندی سرور MongoDB

MongoDB Server Configuration

02 اسفند 1400
درسنامه درس 26 از سری دوره جامع آموزش MongoDB
MongoDB: فصل جدید، پیکربندی سرور (قسمت 26)

به فصل جدید از سری آموزشی MongoDB خوش آمدید. در فصل های قبل با عملیات پایه CRUD و همچنین با نحوه ساختاردهی پایگاه داده آشنا شدیم. قبل از اینکه به فصل های پیشرفته تر برسیم بای در مورد سرور مجازی خودمان صحبت کنیم و مسائل مختلفی را یاد بگیریم. به طور مثال در جلسه اول از نحوه اجرای سرور MongoDB در ویندوز و مک صحبت کردیم و توضیح دادیم که این سرور در ویندوز به صورت یک سرویس اجرا می شود اما در مک باید از ترمینال به صورت دستی عمل کنیم (دستور mongod). در این فصل با جزئیات بیشتری در این مورد صحبت خواهیم کرد تا کاربران مک هم بتوانند سرور MongoDB را به صورت سرویس داشته باشند. همچنین در مورد پیکربندی سرور صحبت خواهیم کرد و وارد جزئیات می شویم.

من ابتدا از دستور mongod شروع می کنم. همانطور که می دانیم این دستور برای راه اندازی سرور MonogDB است (هم کاربران ویندوز و هم مک می توانند از آن استفاده کنند اما کاربران ویندوز نیازی به انجام این کار نداشتند) و دستور mongo نیز پس از آن وارد می شود تا به shell متصل شویم. مسئله اینجاست که دستور mongod دارای flag هایی است که به وسیله آن ها ویرایش می شود و گزینه های جدید می گیرد. اولین این flag ها port است. فرض کنید MongoDB می خواهد روی port ای اجرا شود که توسط برنامه دیگری اشغال شده است. ما می توانیم با این flag پرت را تغییر دهیم:

Mongod --port 2701

مثلا من اینجا پرت 2701 را به MongoDB داده ام تا روی آن اجرا شود. برای اینکه تمام flag ها را مشاهده کنیم، می توانیم از دستور help استفاده کنیم:

Mongod --help

با اجرای این دستور، لیست بالا و بلندی از تنظیمات سرور را می بینید. ما وقت نمی کنیم تمام این دستورات را بررسی کنیم اما دستورات مهم این قسمت را در طول همین دوره یاد می گیریم (برخی از این دستورات مربوط به امنیت و authentication است بنابراین در فصل امنیت بررسی می شوند). اگر دوست دارید تمام دستورات را مشاهده کنید باید به documentation رسمی سایت MongoDB بروید:

https://docs.mongodb.com/manual/reference/program/mongod/

اولین flag مورد بحث ما quiet است (به معنی «ساکت») کاری می کند که سرور کمتر با شما صحبت کند (پیام های ارسالی از سمت سرور کاهش پیدا می کنند). اگر این flag را به mongod بدهید، سرور فقط پیام های بسیار مهم را برایتان ارسال می کند.

دو flag دیگری که برای ما اهمیت دارند logpath و dbpath هستند. Logpath مسیر ذخیره فایل log را مشخص می کند و dbpath همان مسیری است که فایل های پایگاه داده در آنجا ذخیره می شوند. بیایید با هم این مسیر ها را تغییر دهیم.

هر جایی از سیستم خود که دوست داشتید، یک پوشه به نام db و یک پوشه دیگر به نام log ایجاد کنید. من مسیر زیر در سیستم خودم را انتخاب کرده ام:

C:\myMongoDB\db
C:\myMongoDB\log

هر پوشه و هر مکانی را که در سیستم خود انتخاب کنید، مشکلی نخواهیم داشت. همچنین نام db و log را هم می توانید به سلیقه خود تغییر دهید. حالا برای تنظیم سرور و راه اندازی آن در مسیر db می گویم:

mongod --dbpath C:\myMongoDB\db

شما باید به جای آدرس بالا، آدرس دلخواه خودتان را قرار بدهید. تا اینجای کار پوشه db خالی بود اما با اجرای دستور بالا، با فایل های مختلفی پُر می شود. تا اینجای کار از یک مسیر دیگری برای پایگاه داده خود استفاده می کردیم و حالا از مسیر بالا استفاده می کنیم که یعنی یک سرور کاملا جدید راه اندازی کرده ایم و هیچ کدام از اطلاعات قبلی ما در آن نیست.

حالا اگر بخواهیم مسیر log را نیز به همراه db مشخص کنیم باید ترمینال سرور فعلی را قطع کنیم (کلید های Ctrl + C این کار را می کنند یا اینکه کلا پنجره ترمینال را بسته و یک پنجره جدید باز کنید). سپس به جای دستور بالا، دستور زیر را اجرا می کنیم:

mongod --dbpath C:\myMongoDB\db --logpath C:\myMongoDB\log\log.log

نکته مهم در دستور بالا این است که dbpath فقط یک مسیر را می گیرد اما logpath حتما باید مسیر یک فایل را بگیرد. شما می توانید هر نامی برایش انتخاب کنید (من log.log را انتخاب کرده ام). با اجرای این دستور در ویندوز هیچ پیامی مشاهده نمی کنید اما سرور راه اندازی می شود. چرا؟ به دلیل اینکه از این به بعد پیام های ترمینال درون فایل log.log ذخیره خواهند شد.

از این به بعد می توانید به مسیر C:\myMongoDB\log\log.log (یا هر مسیری که خودتان برای logpath تعریف کرده اید) بروید و تمام خطا ها و هشدار های خود را دریافت کنید. اگر یادتان باشد در جلسه قبل حالت schema validation را روی warn گذاشتیم. تمام warn های ما از این به بعد درون همین فایل قابل مشاهده خواهد بود و اینجا ذخیره می شوند. بنابراین فایل log همیشه به درد ما می خورد تا بتوانیم مشکلات و خطاهای سرور و پایگاه داده خود را پیدا کنیم و هر زمانی که به مشکلی برخورد کردید بهتر است اول از همه به فایل log سری بزنید.

تمام فصل‌های سری ترتیبی که روکسو برای مطالعه‌ی دروس سری دوره جامع آموزش MongoDB توصیه می‌کند:
نویسنده شوید
دیدگاه‌های شما

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.

مقالات مرتبط
آخرین سوالات کاربران
5451218 در 3 سال قبل پرسیده:
ما را دنبال کنید
اینستاگرام روکسو تلگرام روکسو ایمیل و خبرنامه روکسو