Restart Apache در اوبونتو، RedHat، Gentoo و دیگر توزیعهای لینوکس
اگر شما وب سایت خود را در یک پلت فرم منبع باز میزبانی می کنید، احتمالا این پلتفرم آپاچی است. اگر این مورد است و شما با یک سرور آپاچی میزبانی می کنید، سپس هنگام کار با ویرایش فایل آپاچی httpd.conf یا یک فایل پیکربندی دیگر (مانند اضافه کردن یک میزبان مجازی جدید)، باید آپاچی را مجددا راه اندازی کنید تغییرات شما تاثیر می گذارد این ممکن است ترسناک به نظر برسد اما خوشبختانه این کار بسیار آسان است.
در حقیقت، میتوانید در حدود یک دقیقه این کار را انجام دهید (صرف نظر از زمان لازم برای خواندن این مقاله برای دریافت دستورالعملهای گام به گام).
شروع شدن
برای راه اندازی مجدد سرور لینوکس آپاچی، بهترین راه استفاده از دستور init.d است. این دستور در بسیاری از توزیعهای لینوکس از جمله Red Hat، Ubuntu و Gentoo در دسترس است. در اینجا چگونگی این کار را انجام می دهیم:
- به وب سرور خود با استفاده از SSH یا Telnet وارد شوید و اطمینان حاصل کنید که سیستم شما شامل دستور init.d است. این معمولا در دایرکتوری / etc یافت می شود، بنابراین لیست آن دایرکتوری:
ls / etc / i *
- اگر سرور شما از init.d استفاده کند، فهرستی از فایلهای اولیه را در آن پوشه مشخص می کنید. بعدا آپاچی یا apache2 را در آن پوشه جستجو کنید. اگر شما init.d دارید، اما یک فایل ابتدایی آپاچی ندارید، به بخش این مقاله با عنوان "Restart your Server Without Init.d" بروید، در غیر این صورت شما ممکن است ادامه دهید.
- اگر شما init.d و یک فایل راه اندازی آپاچی دارید، می توانید Apache را با استفاده از این دستور راه اندازی مجدد کنید:
/etc/init.d/apache2 بارگیری مجدد
شما ممکن است به عنوان کاربر root برای اجرای این دستور نیاز به sudo داشته باشید.
گزینه بارگذاری مجدد
با استفاده از گزینه reload بهترین روش برای راه اندازی مجدد سرور آپاچی شما است، زیرا سرور در حال اجرا است (روند کشته و راه اندازی مجدد نمی شود). در عوض، آن را فقط فایل httpd.conf را بارگذاری می کند، که معمولا همه ی شما می خواهید در این مثال انجام دهید.
اگر گزینه reload برای شما کار نمی کند، می توانید سعی کنید از روش های زیر استفاده کنید:
- /etc/init.d/apache2 restart - این فرمان فرایند سرور را از بین می برد و سپس آن را مجددا راه اندازی می کند
- /etc/init.d/apache2 stop - این دستور فرایند سرور را می کشد
- /etc/init.d/apache2 start - این دستور سرور را راه اندازی می کند (و اگر یک سرور در حال اجرا باشد، پیام خطا را پر می کند)
راه اندازی مجدد سرور شما بدون Init.d
خوب، پس این جایی است که ما از شما خواسته ایم که در صورتی که سرور شما init.d را نداشته باشد، جستوجو می شود. اگر این است، ناامید نشوید، هنوز می توانید سرور خود را راه اندازی مجدد کنید. شما فقط باید آن را با دستور apachectl به صورت دستی انجام دهید. در اینجا مراحل برای این سناریو وجود دارد:
- با استفاده از SSH یا Telnet به دستگاه وب سرور خود وارد شوید
- اجرای برنامه کنترل آپاچی:
apachectl برازنده
شما ممکن است به عنوان کاربر root برای اجرای این دستور نیاز به sudo داشته باشید.
دستور apachectl graceful به Apache می گوید که می خواهید سرور را به صورت بی نظیر بدون قطع هر اتصالی بازنشانی کنید. این به طور خودکار قبل از شروع راه اندازی مجدد فایل های پیکربندی را بررسی می کند تا اطمینان حاصل کند که آپاچی نمی میرد.
اگر apachectl graceful سرور شما را راه اندازی مجدد نمی کند، چند چیز دیگر می توانید سعی کنید.
- restart apachectl برای راه اندازی مجدد سرور. اگر سرور در حال اجرا نیست، شروع شده است. این دستور همچنین یک تست پیکربندی را اجرا می کند تا اطمینان حاصل شود که Apache بعد از راه اندازی مجدد آن را نمی بیند.
- apachectl توقف متوقف کردن سرور آپاچی
- apachectl شروع به شروع سرور آپاچی می کند (اگر آپاچی در حال اجرا است، یک پیام خطا پر می کند)
- configtest apachectl برای تست نحوه ی فایل پیکربندی.
نکاتی برای راه اندازی مجدد آپاچی سرور:
- init.d reload و apachectl graceful هر دو فایل های پیکربندی مجدد را بارگذاری می کنند و سرور وب را به صورت دلخواه راه اندازی مجدد می کنند. هر اتصال جاری مجاز به تکمیل است این رویکرد ترجیح داده شده است و باید اول ابتدا تلاش کرد.
- init.d restart و apachectl restart بارگذاری فایل های پیکربندی و راه اندازی مجدد. هر اتصال جاری فورا خاتمه می یابد
- اگر سرور در حال اجرا نیست، این دستورات آن را شروع می کنند.
- اگر هیچ کدام از این دستورات کار نمی کنند، شما باید سرور آپاچی خود را خاموش کنید (برای مدت زمان کوتاهی آن را بیرون بیاورید) با دستور stop command or apachectl stop stop، حداقل 10 ثانیه صبر کنید و سپس start init.d start start apachectl start
- اگر این کار نمی کند، شما باید فایل های پیکربندی خود را چک کنید تا اطمینان حاصل کنید که با استفاده از apachectl graceful