ریست کردن پسورد sudo کاربر pachim #
پچیم پسورد کاربران سرور را ذخیره سازی نمیکند از این رو امکان ریست کردن آن را نیز ندارد. برای ریست کردن پسورد کاربر pachim شما نیاز است که با استفاده از SSH به عنوان کاربر root وارد سرور شوید. بعد از آنکه به عنوان کاربرroot
وارد سرور شدید با اجرای دستور passwd pachim
میتوانید اقدام به تعریف دوباره پسورد کار اصلی یعنی pachim
کنید.
ریست کردن FPM و Opcache #
اگر Opcache را بر روی سرور خود فعال کردهاید و میخواهید با هر استقرار جدید از کدهای شما، FPM بروزرسانی شود، میتوانید کد زیر را در اسکریپت استقرار خود قرار دهید تا بدون هیچ کار اضافهای، این مورد برای شما انجام شود.
( flock -w 10 9 || exit 1
echo 'Restarting FPM...'; sudo -S service $PACHIM_PHP_FPM reload ) 9>/tmp/fpmlock
همچنین اگر میخواهید از طریق دسترسی SSH مواردی مثل Opcache و FPM را ریست کنید میتوانید از دستور زیر استفاده کنید.
echo "" | sudo -S service phpx.x-fpm reload
دقت کنید در دستور بالا بجای phpx.x باید مقدار باینری ورژن مورد نظر php را وارد کنید. برای اجرای بدون مشکل این دستور هم نیاز به دسترسی root سرور خواهید داشت.
آپگرید کردن Nginx #
در هر بار راهاندازی سرور اگر سرور شما نیاز به نصب nginx داشته باشد ما آخرین ورژن موجود و stable آن را نصب میکنیم، اگر چه با گذشت زمان ممکن است نیاز به این داشته باشیدکه nginx را به آخرین ورژن آپگرید کنید . برای این کار از دستور زیر میتوانید بهره ببرید.
sudo apt-get install -y --only-upgrade nginx
sudo nginx -v
sudo service nginx restart
آپگرید کردن Node.js #
در زمان راه اندازی سرور مورد نظر شما، با توجه به نوع سرور اگر بر روی سرورتان نیاز به node.js باشد، پچیم همیشه آخرین ورژن از node.js را برای شما نصب و راه اندازی میکند اگرچه با گذشت زمان ممکن است نیاز داشته باشید که ورژن node.js خود را به آخرین ورژن آپگرید کنید که با استفاده از دستور زیر به سادگی میتوانید اینکار را انجام دهید.
curl -fsSL https://deb.nodesource.com/setup_current.x | sudo -E bash -
sudo apt-get install -y nodejs
شما میتوانید اطلاعات ورژنهای مختلف node را مطالعه کنید.
آپگرید کردن Npm #
در زمان راه اندازی سرور همیشه آخرین ورژن از npm بر روی سرور شما نصب میشود اما با گذشت زمان ممکن است ورژنهای جدیدتری از npm در اختیار شما قرار بگیرد. شما هر زمان که بخواهید میتوانید با اجرای دستور زیر اقدام به آپگرید کردن آن کنید.
sudo npm install npm@latest -g
البته دقت کنید در زمان راه اندازی سرور اگر سرور شما دارای npm باشد، یک زمانبندی به سرور شما برای اجرای هفتگی این دستور اضافه میشود تا به شما کمک کند همیشه npm را به روز نگه دارید. البته در صورت عدم نیاز به آن میتوانید از قسمت مدیریت زمانبدیها آن را حذف کنید.
قطع شدن ارتباط با پچیم #
چندین دلیل مختلف میتواند باعث قطع شدن ارتباط سرور شما با پچیم باشد که ما در اینجا سعی میکنیم بعضی از این مشکلات و راحلهای که برای آن وجود دارد را برایتان توضیح دهیم.
1- مشکل سرور شما فیزیکی باشد و اینترنت آن قطع شده باشد.
خیلی از اوقات ممکن است مشکلی در دیتاسنتر شما وجود داشته باشد که باعث خاموش شدن سرور یا قطع شدن اینترنت آن شده باشد. برای بررسی این موضوع نیاز به پینگ گرفتن از سرور است.
ping x.x.x.x
به جای مقدار x.x.x.x مقدار IP عمومی سرور خود را وارد کنید و مطمئن شوید، خارج از سرور هم پینگ دارید اما در صورت اینکه پینگ نداشتید قطعا مشکل فیزیکی است و نیاز است به پشتیبانی ارائه دهنده سرور اختصاصی یا مجازی خود پیام دهید و پیگیری مشکل سرور خود را از آنها انجام دهید.
2- بررسی آدرس IP عمومی سرور
در بعضی از ارائه دهندگان زمانی که سرور مجازی ریسارت میشود آی پی عمومی متفاوتی به سرور داده میشود. برای همین همیشه چک کنید IP عمومی سرور با IP عمومی که در پچیم ثبت کردهاید یکی باشد.
3- کلید SSH مربوط به پچیم به هر دلیلی از سرور شما حذف شده
پچیم با کلیدها اختصاصی SSH به سرور شما متصل میشود که ممکن است به هر دلیلی این کلید حذف شده یا تغییر کند (که البته این موضوع بسیار نادر است) اما حتما فایلهای /root/.ssh/authorized_keys و /home/pachim/.ssh/authorized_keys را چک کنید و بررسی کنید که آیا کلید SSH که در این فایلih قرار گرفته با کلید SSH که به سرور شما در پچیم اختصاص داده شده یکی باشد. برای مشاهده کلید SSH پچیم برای سرور شما میتوانید وارد قسمت تنظیمات سرور شوید.
4- کاراکترهای اضافهای در کلید SSH پچیم قرار گرفته است
در زمان کپی کردن کلید عمومی پچیم در فایلهای /root/.ssh/authorized_keys و /home/pachim/.ssh/authorized_keys ممکن است به اشتباه فاصله یا خط جدیدی به کلید SSH اضافه کرده باشید که برای این موضوع حتما باید مطمئن شوید که کلید را به درستی در فایلهای مورد نظر قرار دادهاید
5- سرور شما دارای فایروال دیتاسنتر یا مواردی شبیه به آن است
اگر سرور شما دارای فایروال خارجی، برای مثال فایروال دیتاسنتر است لطفا مطمئن شوید IP های پچیم در لیست سفید فایروال شما قرار دارد.
6- پورت 22 از قوانین فایروال سرور شما حذف شده
اگر به هر دلیلی این پورت از فایروال شما حذف شود، نه تنها پچیم بله خود شما هم مستقیما نمیتوانید به سرور خود با SSH متصل شوید و نیاز است برای حل این موضوع به پشتیبانی ارائه دهنده سرور اختصاصی یا مجازی خود پیام دهید تا این پورت را مجددا به فایروال سرور شما اضافه کنند البته اگر توانایی اینکار را داشته باشند.
اگر مشکلات و راحلهای بالا را چک کردید ولی با این حال ارتباط پچیم با سرور شما برقرار نشد دستورات زیر را یکبار اجرا کنید تا اجازه دسترسی فایلهای مورد نیاز ارتباط با پچیم بررسی شود.
توجه کنید که کد زیر را باید با کاربر root اجرا کنید، بنابراین اگر دسترسی ssh به سرور خود را دارید ابتدا وارد سرور شوید و بعد با دستور sudo su – وارد کاربر root شوید و بعد دستورات زیر را اجرا کنید.
# Fixes the "root" user (run as root)
chown root:root /root
chown -R root:root /root/.ssh
chmod 700 /root/.ssh
chmod 600 /root/.ssh/authorized_keys
# Fixes the "pachim" user
chown pachim:pachim /home/pachim
chown -R pachim:pachim /home/pachim/.ssh
chmod 700 /home/pachim/.ssh
chmod 600 /home/pachim/.ssh/authorized_keys
اگر کماکان با انجام همه مواردی که در بالا گفتیم مشکل شما باقی بود، در صورت اینکه هنوز دسترسی ssh به سرور خود را دارید وارد سرور شوید و با دستور sudo su – وارد کاربر root شوید و دستور زیر را اجرا کنید. خروجی که این دستور به شما نمایش میدهد را برای پشتیبانی پچیم ارسال کنید تا مشکل شما بررسی شود.
grep 'sshd' /var/log/auth.log | tail -n 10
ارور باز بودن تعداد زیادی فایل #
اگر اروری از سرورتان دریافت کردید که عنوان یا بخشی از متن آن “too many open files” بود, به معنی این است که شما باید حداکثر مقدار فایلی که سیستم عامل شما اجازه میدهد در یک زمان پیکربندی کنید را افزایش دهید. این ارور ممکن است زمانی زیاد رخ دهد که شما درخواست های بسیار زیادی را از طریق وب دریافت کرده و باید آنها را پردازش کنید.
ابتدا چک کنید که حداکثر فایلهای باز بر اساس سایز سرورتان درست تنظیم شده باشد. این مقدار معمولا برابر است با حداکثر 100 فایل باز به ازای 1 مگابایت RAM، یعنی اگر سرور شما دارای 4 گیگ RAM باشد حداکثر فایلهای باز میتواند 409600
باشد.
برای آنکه متوجه شوید در حال حاضر حداکثر تعداد فایلهای سیستم عامل شما چقدر است میتوانید دستور sysctl fs.file-max
را اجرا کنید، بعد از اجرای دستور، در خروجی حداکثر تعداد فایلهای که میتواند باز باشد را میتوانید مشاهده کنید. اگر زمانی تصمیم دارید این مقدار را افزایش یا کاهش دهید میتوانید فایل /etc/sysctl.conf
را باز و خط زیر را تغییر دهید.
fs.file-max = LIMIT_HERE
با توجه به اینکه خط بالا محدودیت را بر اساس عددی که وارد کردید افزایش یا کاهش میدهد نیاز است فایل /etc/security/limits.conf
را باز کنید و مقادیر زیر را در آن ثبت کنید دقت کنید به جای LIMIT_HERE
باید عدد مورد نظر خود را وارد کنید.
root soft nofile LIMIT_HERE
root hard nofile LIMIT_HERE
pachim soft nofile LIMIT_HERE
pachim hard nofile LIMIT_HERE
و همچنین اگر کاربر ایزوله شدهای را در سرور خود ایجاد کردید نیاز دارید بعد از تنظیمات بالا این موارد را هم به همان فایل اضافه کنید.
isolated-user soft nofile LIMIT_HERE
isolated-user hard nofile LIMIT_HERE
به علاوه، اگر خطای “too many open files” در پردازش nginx زیاد دیده شد (معمولا زمانی که از سرور توزیع بار استفاده میکنید این ارور ممکن است برای شما زیاد بوجود آید)، همانند بالا در فایل /etc/security/limits.conf
برای کاربر nginx هم مقدار زیر را وارد و مقداردهی کنید.
nginx soft nofile LIMIT_HERE
nginx hard nofile LIMIT_HERE
و همچنین مقدار زیر را به تنظیمات nginx به آدرس /etc/nginx/nginx.conf
هم اضافه کنید.
worker_rlimit_nofile LIMIT_HERE;
بعد از اعمال تنظیم مربوط به nginx در بالا برای اعمال آن حتما نیاز است کن یکبار nginx را ریست کنید، برای اینکار میتوانید از دستور زیر استفاده کنید از طریق پنل پچیم در خواست ریست شدن nginx را به سرور بفرستید.
service nginx restart
اجرا نشدن کار زمانبدی شده #
اشتباه وارد کردن کوچکترین تنظیماتی برای ایجاد یک کار زمانبدی میتواند باعث عدم اجرای آن زمانبدی شود. از دستوری که قصد اجرای آن را دارید تا بازه زمانی آن.
پیشنهاد میکنیم دستوری که قصد اجرای آن را دارید یکبار با ترمینال و SSH اجرا کنید و اگر به درستی کار کرد برای درست وارد کردن بازه زمانی هم میتوانید از ابزار Crontab.guru استفاده کنید
حذف شدن قانون SSH از فایروال #
اگر به هر دلیلی قانون SSH که مربوط به اجازه دادن دسترسی به پورت 22 سرور است را طریق خود پچیم یا دستورات مستقیم خود سرور حذف کنید، ارتباط پچیم با سرور شما امکان ناپذیر خواهد شد و همچنین خود شما هم دیگر نمیتوانید از طریق ssh به سرورتان دسترسی پیدا کنید. بنابراین پیشنهاد میکنیم هیچ وقت این مقدار را حذف نکنید حتی برای تست .
اما اگر حرف بالا را نادیده گرفتید و این مقدار را حذف کردید هیچ راهی ندارید به غیر آنکه به پشتیبانی ارائه دهنده سرور اختصاصی یا vps مجازی خود پیام دهید و از آنها بخواهید از طریق دسترسیهای مستقیم خودشان به سرورتان متصل شوند و به فایروال سرور دسترسی پورت 22 را اضافه کنند.