Restart Apache ໃນ Ubuntu, RedHat, Gentoo ແລະອື່ນໆ Linux Distros
ຖ້າທ່ານກໍາລັງໂຮດເວັບໄຊທ໌ຂອງທ່ານໃນເວທີແຫລ່ງເປີດ, ມັນກໍ່ແມ່ນວ່າເວທີນີ້ແມ່ນ Apache. ຖ້າຫາກວ່ານີ້ເປັນກໍລະນີ, ແລະທ່ານກໍາລັງໂຮດຢູ່ກັບເຄື່ອງແມ່ຂ່າຍຂອງ Apache, ຫຼັງຈາກນັ້ນ, ເມື່ອທ່ານກໍາລັງແກ້ໄຂໄຟລ໌ httpd.conf Apache ຫຼືໄຟລ໌ການຕັ້ງຄ່າອື່ນ (ເຊັ່ນ: ເພີ່ມໂຮດ virtual ໃຫມ່), ທ່ານຈະຕ້ອງເລີ່ມ Apache ໃຫມ່ເພື່ອວ່າ ການປ່ຽນແປງຂອງທ່ານຈະມີຜົນກະທົບ. ນີ້ອາດຈະຫນ້າຢ້ານ, ແຕ່ໂຊກດີນີ້ແມ່ນງ່າຍທີ່ສຸດທີ່ຈະເຮັດ.
ໃນຄວາມເປັນຈິງ, ທ່ານສາມາດເຮັດໄດ້ໃນເວລາປະມານຫນຶ່ງນາທີ (ບໍ່ຄິດໄລ່ເວລາທີ່ຈະອ່ານບົດຄວາມນີ້ເພື່ອໃຫ້ຄໍາແນະນໍາຂັ້ນຕອນ).
ການເລີ່ມຕົ້ນ
ການເລີ່ມຕົ້ນເຄື່ອງແມ່ຂ່າຍເວັບໄຊຕ໌ຂອງທ່ານ Apache, ວິທີທີ່ດີທີ່ສຸດແມ່ນການນໍາໃຊ້ຄໍາສັ່ງ init.d. ຄໍາສັ່ງນີ້ມີຢູ່ໃນການແຈກແຈງຈໍານວນຫຼາຍຂອງ Linux ລວມທັງ Red Hat, Ubuntu ແລະ Gentoo. ນີ້ແມ່ນວິທີທີ່ທ່ານຈະເຮັດແນວນີ້:
- ເຂົ້າສູ່ເວັບເຊີຟເວີຂອງທ່ານໂດຍໃຊ້ SSH ຫຼື telnet ແລະໃຫ້ແນ່ໃຈວ່າລະບົບຂອງທ່ານມີຄໍາສັ່ງ init.d. ມັນມັກຈະພົບຢູ່ໃນ / etc directory, ດັ່ງນັ້ນລາຍຊື່ directory ນັ້ນ:
ls / etc / i *
- ຖ້າເຄື່ອງແມ່ຂ່າຍຂອງທ່ານໃຊ້ init.d, ທ່ານຈະໄດ້ຮັບລາຍຊື່ຂອງໄຟລ໌ເລີ່ມຕົ້ນໃນແຟ້ມທີ່ລະບຸນັ້ນ. ຊອກຫາ apache ຫຼື apache2 ໃນໂຟເດີນັ້ນຕໍ່ໄປ. ຖ້າທ່ານມີ init.d, ແຕ່ບໍ່ມີໄຟລ໌ເລີ່ມຕົ້ນ Apache, ໃຫ້ໄປທີ່ສ່ວນຂອງບົດຄວາມນີ້ທີ່ມີຫົວຂໍ້ທີ່ອ່ານ "Restarting Your Server Without Init.d", ຖ້າບໍ່ດັ່ງນັ້ນທ່ານອາດຈະສືບຕໍ່.
- ຖ້າທ່ານມີ init.d ແລະໄຟລ໌ເລີ່ມຕົ້ນ Apache, ຫຼັງຈາກນັ້ນທ່ານສາມາດ restart Apache ໂດຍໃຊ້ຄໍາສັ່ງນີ້:
/etc/initd/apache2 reload
ທ່ານອາດຈະຕ້ອງການ sudo ໃນຖານະຜູ້ໃຊ້ຮາກທີ່ຈະໃຊ້ຄໍາສັ່ງນີ້.
ຕົວເລືອກການໂຫຼດ
ການໃຊ້ຕົວເລືອກການໂຫຼດໃຫມ່ແມ່ນວິທີທີ່ດີທີ່ສຸດທີ່ຈະເລີ່ມຕົ້ນເຄື່ອງແມ່ຂ່າຍຂອງ Apache ຂອງທ່ານ, ຍ້ອນວ່າມັນເຮັດໃຫ້ເຄື່ອງແມ່ຂ່າຍທີ່ເຮັດວຽກ (ຂັ້ນຕອນບໍ່ເສຍຄ່າແລະເລີ່ມຕົ້ນໃຫມ່). ແທນທີ່ຈະ, ມັນພຽງແຕ່ reloads ໄຟລ໌ httpd.conf, ເຊິ່ງປົກກະຕິແລ້ວທ່ານຕ້ອງການເຮັດໃນກໍລະນີນີ້ຢ່າງໃດກໍຕາມ.
ຖ້າຕົວເລືອກໂຫຼດໃຫມ່ບໍ່ສາມາດເຮັດວຽກສໍາລັບທ່ານໄດ້, ທ່ານກໍ່ສາມາດໃຊ້ຄໍາສັ່ງຕໍ່ໄປນີ້ແທນ:
- /etc/init.d/apache2 restart - ຄໍາສັ່ງນີ້ຂ້າຂະບວນການຂອງເຄື່ອງແມ່ຂ່າຍແລະຫຼັງຈາກນັ້ນ restarts ມັນ
- /etc/init.d/apache2 stop - ຄໍາສັ່ງນີ້ລັນຂັ້ນຕອນຂອງເຄື່ອງແມ່ຂ່າຍ
- /etc/init.d/apache2 ເລີ່ມຕົ້ນ - ຄໍາສັ່ງນີ້ຈະເລີ່ມຕົ້ນເຄື່ອງແມ່ຂ່າຍ (ແລະຈະຖິ້ມຂໍ້ຄວາມຜິດພາດຖ້າວ່າເຄື່ອງແມ່ຂ່າຍແມ່ນແລ່ນແລ້ວ)
Restarting Your Server Without Initd
OK, ດັ່ງນັ້ນນີ້ແມ່ນບ່ອນທີ່ພວກເຮົາຮ້ອງຂໍໃຫ້ທ່ານຂ້າມໄປຖ້າເຄື່ອງແມ່ຂ່າຍຂອງທ່ານບໍ່ມີ init.d. ຖ້າຫາກວ່ານີ້ແມ່ນທ່ານ, ບໍ່ເປັນຫ່ວງ, ທ່ານຍັງສາມາດ restart ເຄື່ອງແມ່ຂ່າຍຂອງທ່ານ. ທ່ານພຽງແຕ່ຕ້ອງເຮັດມັນດ້ວຍຕົນເອງດ້ວຍຄໍາສັ່ງ apachectl. ນີ້ແມ່ນຂັ້ນຕອນສໍາລັບສະຖານະການນີ້:
- ເຂົ້າສູ່ເຄື່ອງເຄື່ອງແມ່ຂ່າຍເວັບໂດຍໃຊ້ SSH ຫຼື telnet
- ເອີ້ນໃຊ້ໂປລແກລມຄວບຄຸມ apache:
apachectl graceful
ທ່ານອາດຈະຕ້ອງການ sudo ໃນຖານະຜູ້ໃຊ້ຮາກທີ່ຈະໃຊ້ຄໍາສັ່ງນີ້.
ຄໍາສັ່ງທີ່ສະຫງ່າງາມ apachectl ບອກ Apache ວ່າທ່ານຕ້ອງການເປີດເຄື່ອງຄືນໃຫມ່ໂດຍບໍ່ຕ້ອງຖອນການເຊື່ອມຕໍ່ໃດໆ. ມັນຈະກວດສອບໄຟລ໌ການຕັ້ງຄ່າໂດຍອັດຕະໂນມັດກ່ອນທີ່ຈະເລີ່ມການ Restart ເພື່ອໃຫ້ Apache ບໍ່ເສຍຊີວິດ.
ຖ້າ apachectl gracefully ບໍ່ restart ເຄື່ອງແມ່ຂ່າຍຂອງທ່ານ, ມີບາງສິ່ງອື່ນໆທີ່ທ່ານສາມາດພະຍາຍາມ.
- apachectl restart ເພື່ອ restart ເຄື່ອງແມ່ຂ່າຍ. ຖ້າເຄື່ອງແມ່ຂ່າຍບໍ່ກໍາລັງແລ່ນມັນກໍ່ເລີ່ມຕົ້ນ. ຄໍາສັ່ງນີ້ຍັງເຮັດການທົດສອບການກໍານົດຄ່າເພື່ອໃຫ້ແນ່ໃຈວ່າ Apache ຈະບໍ່ເສຍຊີວິດເມື່ອມັນເລີ່ມຕົ້ນໃຫມ່.
- apachectl ຢຸດເພື່ອຢຸດເຄື່ອງແມ່ຂ່າຍຂອງ Apache
- apachectl ເລີ່ມຕົ້ນທີ່ຈະເລີ່ມຕົ້ນເຄື່ອງແມ່ຂ່າຍຂອງ Apache (ຈະຖິ້ມຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດຖ້າ Apache ກໍາລັງເຮັດວຽກ)
- apachectl configtest ເພື່ອທົດສອບ syntax ໄຟລ໌ການຕັ້ງຄ່າ.
ຄໍາແນະນໍາສໍາລັບການ Restarting ເຄື່ອງແມ່ຂ່າຍຂອງທ່ານ Apache:
- init.d reload ແລະ apachectl graceful ທັງການໂຫຼດໄຟລ໌ການຕັ້ງຄ່າແລະ gracefully restart ເຄື່ອງແມ່ຂ່າຍຂອງເວັບໄຊຕ໌. ທຸກໆການເຊື່ອມຕໍ່ໃນປັດຈຸບັນຖືກອະນຸຍາດໃຫ້ສໍາເລັດ. ນີ້ແມ່ນວິທີທີ່ຕ້ອງການແລະມັນຄວນຈະເປັນສິ່ງທີ່ທ່ານພະຍາຍາມທໍາອິດ.
- init.d restart ແລະ apachectl restart reloads ໄຟລ໌ການຕັ້ງຄ່າແລະ restarts. ທຸກໆການເຊື່ອມຕໍ່ໃນປະຈຸບັນແມ່ນຖືກຍົກເລີກໃນທັນທີ.
- ຖ້າເຄື່ອງແມ່ຂ່າຍບໍ່ໄດ້ໃຊ້, ຄໍາສັ່ງເຫຼົ່ານີ້ຈະເລີ່ມຕົ້ນຂຶ້ນ.
- ຖ້າບໍ່ມີຄໍາສັ່ງເຫຼົ່ານີ້ເຮັດວຽກ, ທ່ານຄວນປິດເຄື່ອງ Apache ຂອງທ່ານ (ໃຊ້ເວລາສັ້ນໆ) ກັບຄໍາສັ່ງ stop.date ຫຼືຢຸດ apachectl, ລໍຖ້າຢ່າງຫນ້ອຍ 10 ວິນາທີ, ແລະຫຼັງຈາກນັ້ນເລີ່ມຕົ້ນ start.d init start apachectl start
- ຖ້າຫາກວ່າບໍ່ໄດ້ເຮັດວຽກ, ທ່ານຄວນຈະດໍາເນີນການກວດສອບກ່ຽວກັບໄຟລ໌ການຕັ້ງຄ່າຂອງທ່ານເພື່ອໃຫ້ແນ່ໃຈວ່າບໍ່ມີບັນຫາກັບພວກເຂົາໂດຍໃຊ້ apachectl ທີ່ມີຄຸນຄ່າ