اگر یک وب سایت معتبر داشته باشید، یکی از بنیادی ترین تکنیک هایی که یاد می گیرید، این است که سرور مجازی آپاچی راhttpd راه اندازی مجدد می کند. این کار معمولا در سناریوهای زیر اتفاق می افتد:
- هنگام به روز رسانی پرونده پیکربندی وب سرور.
- هنگامی که httpd جوابی نمی دهد و به اصطلاح هنگ میکند.
- برای تست خدمات دیگر.
در اینجا ما به ترفند راه اندازی مجدد آپاچی بدون نیاز به راه اندازی مجدد سرور CentOS Linux می پردازیم. برای شروع، به یک سرویس خصوصی مجازی اختصاصی یا میزبانی (VPS) نیاز دارید.
چرا کامند Service ارجعیت دارد؟
اگر چه حداقل دوازده راه متفاوت برایراه اندازی مجدد httpd وجود دارد، پیشنهاد می کنم از دستور service استفاده کنید. مزیت اصلی که برای سرور CentOS وجود دارد: service به کار خود ادامه میدهد جتی اگر شما به سرور HTTP خاصی مانند nginx مهاجرت کرده باشید.
جالب توجه است که مستندات Apache httpd از دستور apachectl استفاده می کند. با این حال، apachectl برخی از مدیران سیستم را سر در گم می کند، زیرا مکان اجرایی آن بیشتر از / sbin / service تغییر می کند.
اسناد CentOS هر دو apachectl و service را به عنوان گزینه های خوب ارائه می دهد.
چگونه Apache را بر روی سرور مجازی یا اختصاصی راه اندازی مجدد کنید؟
راه های زیادی برای راه اندازی مجدد Apache httpd برای یک سرور اختصاصی و یا یک سرور مجازی در توزیع Centos لینوکس وجود ندارد.حال من انجام راه های زیر را برای جلوگیری از فامبل های آینده توصیه می کنم.
دادن دسترسی root با استفاده از sudo
sudo به معنای “superuser do” است و اجازه دسترسی به دستورات نیاز به کاربر فوق العاده (root) را دارد. از آنجا که شما با ریشه وارد شده اید(پیشنهاد میکنیم که اصلا با root وارد نشوید!)، شما نیاز به sudo دارد که به service دسترسی root را بدهید ، زیرا به این دسترسی نیاز دارد:
sudo /sbin/service httpd graceful
دستور service برای شروع، متوقف کردن یا اصلاح سرویسهایی مانند httpd استفاده می شود.
از graceful برای شروع فرآیند های زیر مجموعه (فرزند) استفاده کنید
پارامتر graceful به httpd می گوید که راه اندازی مجدد فرآیند ها را بعد از دریافت اولین سیگنال با عنوان پایان کار فرآیندهای زیر مجموعه شروع کند.بعد از اینکه تمامی فرآیند های زیر مجموعه(آن هایی که به درخواست های http پاسخ میدهند)کارها و وظایف خود را به پایان رساندند بسته خواهند شد ، آنهایی که به http سرویس نمی دهند نیز بسته خواهند شد.
سرور Apache httpd را راه اندازی مجدد کنید
هنگامی که تمام فرآیندهای فرزند بسته شده اند، سرور Apache httpd مجددا راه اندازی می شود، از جمله بازنویسی فایل پیکربندی آن برای اطمینان از شروع پاک و کاملا به روز. تقریبا در تمام موارد، کل مراحل خاموش شدن / راه اندازی مجدد فقط چندین ثانیه خرابی را ایجاد می کند.
نحوه استفاده از stop بجای graceful
graceful تنها را راه اندازی مجدد httpd با service نمی باشد ، شما همچنین می توانید از دستور stop استفاده کنید ، اینکار به صورت دستور زیر می باشد:
sudo /sbin/service httpd stop
به یاد داشته باشید که “stop” تلاش می کند بلافاصله تمام فرآیندهای زیر مجموعه را متوقف کند، که می تواند کاربران نهایی را متوقف کند. من “graceful” را به شما توصیه می کنم زیرا برای سبک کار شما (هاستینگ) انتخاب بهتری می باشد زیرا این دستور دوستانه تر از قطع کردن مواردی می باشد که به کاربران در حال ارائه سرویس می باشد. بسیاری از مدیران و به خصوص برنامه نویسان از “stop” برای متوقف کردن سرور خود استفاده می کنند، زیرا اغلب آنها نمی دانند که حتی graceful وجود دارد.
Apache httpd را با دستور stop متوقف کنید
اگر از دستور stop استفاده می کنید ، از دستور زیر برای راه اندازی مجدد سرور httpd استفاده کنید:
sudo /sbin/service httpd start
ترکیب دستورات را در نظر بگیرید
شما می توانید آن دو دستور را به یک دستور تبدیل کنید ، زمانی که تمامی فرآیندهای زیر مجموعه Apache httpd متوقف شده اند ، باهم راه اندازی می شوند:
sudo /sbin/service httpd restart