استفاده از کاربر ایزوله برای وبسایتهای که وجود دارد #
گاهی اوقات سوال میشود که چطور میتوانیم برای سایتهای فعلی خود کاربر ایزوله شده قرار دهید. انجام این کار امکان پذیر نیست و شما نمیتوانید چنین کاری را انجام دهید. بجای آن نیاز است یک وبسایت جدید ایزوله شده بسازید و اپلیکیشن خود را بر روی آن بالا آورید.
کامیتهای ثبت نشده و ارور در زمان استقرار #
گاهی پیش میآید فایلهای سرور شما توسط خود شما یا حتی اپلیکیشن شما تغییر کنند، اما این تغییرات در گیت commit نشود برای همین زمانی که درخواست استقرار جدید میکنید به دلیل داشتن تغییرات کامیت نشده استقرار شما با موفقیت انجام نمیشود و شکست میخورد.
برای رفع این مشکل نیاز است تغییرات به وجود آماده در گیت اپلیکیشن خود در سرور را کامیت یا پاک کنید تا استقرار جدید شما بدون مشکل بر روی سایتتان قرار بگیرد، برای انجام اینکار کافیست وارد پنل سایت در پچیم شوید و بر روی دکمه دستورات کمکی در هدر صفحه کلیک کنید و گزینه ریست کردن وضعیت Git بزنید.
توجه کنید با ریست کردن وضعیت Git اگر تغییر کامیت نشدهای را داشته باشید همه آنها حذف خواهند شد، بنابراین با دقت این گزینه را انتخاب کنید. بعد از انجام اینکار با خیال راحت میتوانید درخواست استقرار جدید خود را ثبت کنید و بدون مشکل آپدیت جدید سایت خود را بارگذاری کنید.
راه اندازی PM2 در Boot #
به شکل پیشفرض سرویس PM2 در بوت سیستم عامل راهاندازی نمیشود و برای انجام اینکار نیاز است چند قدم کوتاه بردارید که خوشبختانه بسیار ساده است و در زیر آن را برایتان توضیح دادهایم.
بعد از راهاندازی سرویس PM2 قدمهای زیر را بردارید تا از اجرا شدن PM2 در زمان بوت سرور اطمینان حاصل کنید. توجه کنید که اینکار برای هر کدام از کاربران سرور شما باید انجام شود آن هم به شکل جداگانه.
برای قدم اول ابتدا دستور زیر را در کاربر مورد نظر سیستم خود اعمال کنید، توجه کنید برای انجام اینکار میتوانید از بخش دستورات سایت مورد نظر استفاده کنید.
pm2 startup -u user
بهجای <user> نام کاربری که پروژه بر روی آن اجرا شده را وارد کنید اگر کاربر ایزوله جدیدی ایجاد نکردهاید این مقدار برابر است با pachim زمانی که دستور بالا را اجرا کنید خروجی به شکل زیر به شما نمایش داده میشود.
ssh pachim@server_ip_address
sudo env PATH=$PATH:/usr/bin pm2 startup systemd -u pachim --hp /home/pachim
بعد از اجرا دستور دوم از شما پسورد sudo را میخواهد که در زمان راه اندازی سیستم عامل توسط پچیم به شما داده شده و با وارد کردن آن کار به اتمام میرسد، اگر از قبل برنامه node را بر روی پچیم راهاندازی کردید بهتر است یکبار آن را حذف و مجددا راهاندازی کنید تا به شکل کامل از اجرا شدن آن اطمنیان حاصل شود.
رفع خطای “Key is already in use” هنگام اتصال به مخزن Git #
اگر قصد دارید از یک مخزن Git (مثل GitHub یا GitLab) در سرور خود استفاده کنید، باید به یک نکته مهم توجه داشته باشید:
هر سرور تنها میتواند با یک حساب کاربری در پلتفرمهای Git ارتباط داشته باشد، مگر اینکه از روشهای خاصی مثل Deploy Key استفاده کنید.
بهصورت پیشفرض، وقتی برای اولین بار سعی میکنید سایتی را به یک مخزن متصل کنید، از کلید عمومی SSH سرور برای احراز هویت استفاده میشود. حال اگر این کلید قبلاً در حساب کاربری دیگری (مثلاً در GitHub) ثبت شده باشد، ممکن است نتوانید از آن برای اتصال به حساب یا مخزن جدیدی استفاده کنید. این محدودیت برای افزایش امنیت اعمال شده و باعث میشود هر سرور فقط با یک حساب مشخص قابل استفاده باشد.
راهحل چیست؟ #
اگر با این محدودیت مواجه شدید، دو راه پیش روی شماست:
- حذف کلید از حساب قبلی:
وارد حساب کاربری قبلی خود در GitHub یا GitLab شوید و کلید عمومی SSH سرور را از تنظیمات مربوط به SSH Keys حذف کنید. سپس همان کلید را میتوانید در حساب جدید مورد نظر خود ثبت کنید. - استفاده از Deploy Key (پیشنهادی):
اگر میخواهید یک مخزن خاص را به یک سایت خاص متصل کنید – بدون نیاز به دسترسی به کل حساب کاربری – بهترین روش استفاده از Deploy Key است. این کلید فقط به همان مخزن دسترسی خواهد داشت و وابسته به حساب کاربری خاصی نیست. این روش هم امنتر است و هم انعطافپذیری بیشتری دارد.
توجه: اگر این اولین بار است که برای یک سایت در سرور خود از مخزن استفاده میکنید، بهصورت پیشفرض کلید عمومی سرور شما تولید و برای اتصال به مخزن مورد استفاده قرار میگیرد.