ฉันเปลี่ยนจาก SLES เป็น Ubuntu และตอนนี้ฉันต้องการรีสตาร์ทเซิร์ฟเวอร์ในพื้นที่ของฉัน ใน SLES ฉันใช้:
rcapache2 restart
แต่อย่างใดดูเหมือนว่าจะไม่ทำงานใน Ubuntu :(
ฉันจะเริ่ม Apache ใหม่ได้อย่างไร
ฉันเปลี่ยนจาก SLES เป็น Ubuntu และตอนนี้ฉันต้องการรีสตาร์ทเซิร์ฟเวอร์ในพื้นที่ของฉัน ใน SLES ฉันใช้:
rcapache2 restart
แต่อย่างใดดูเหมือนว่าจะไม่ทำงานใน Ubuntu :(
ฉันจะเริ่ม Apache ใหม่ได้อย่างไร
คำตอบ:
sudo service apache2 restart
สำหรับวิธีที่ยืมมาจาก Red Hat
sudo restart apache2
Ubuntu 12.04
ไม่ได้ทำงานใน ไม่แน่ใจใน Ubuntu รุ่นอื่น ๆ
sudo service apache2 restart
แล้วมันจะได้ผล
sudo restart apache2
ไม่ทำงานใน Ubuntu 14.04 sudo service apache2 restart
ทำงานหนัก
คุณต้องการรีสตาร์ท Apache หรือคุณต้องการโหลดการตั้งค่าใหม่อย่างสง่างามหรือไม่
ทุกคนตอบคำถามแรก คุณสามารถทำสิ่งที่สองด้วย
sudo service apache2 reload
การโหลดซ้ำอย่างสง่างามนั้นเร็วขึ้นเล็กน้อยและไม่มีการหยุดทำงาน
มีข้อแม้หนึ่งข้อ: หากไฟล์กำหนดค่า apache ของคุณมีข้อผิดพลาด (เช่นกำหนดค่าล็อกไฟล์ในไดเรกทอรีที่ไม่มีอยู่) เซิร์ฟเวอร์อาจออกจากการทำงานอย่างเงียบ ๆ โดยไม่พิมพ์ข้อความแสดงข้อผิดพลาดไปยังคอนโซล ข้อผิดพลาดอื่น ๆ ส่วนใหญ่จะถูกจับโดยapache2ctl configtest
ที่ทำงานก่อนที่จะทำโหลดจริงกับservice apache2 reload
apache2ctl graceful
sudo apache2ctl configtest
ก่อนที่จะทำการรีสตาร์ทอย่างนุ่มนวล การรีสตาร์ทอย่างนุ่มนวลจะล้มเหลวและ apache จะหยุดทำงานหากการตั้งค่ามีข้อผิดพลาดทางไวยากรณ์
apache2ctl graceful
และแทนที่จะแนะนำเพียงservice apache2 reload
ซึ่งไหลก่อนconfigtest
graceful
วิธีที่แนะนำภายใต้ Ubuntu เพื่อเริ่ม / หยุดบริการ (ไม่ใช่เพียง Apache) คือการใช้คำสั่ง start / stop / reload (ซึ่งเป็นลิงก์สัญลักษณ์ไปยัง โปรแกรมinitctlซึ่งเป็นส่วนหนึ่งของการพุ่งพรวด )
สำหรับบริการที่ใช้/etc/init.d
สคริปต์ดั้งเดิมสคริปต์ที่เกี่ยวข้องจะถูกเรียกด้วยพารามิเตอร์ที่ถูกต้อง สำหรับการให้บริการที่ใช้โครงสร้างพื้นฐานพุ่งพรวดที่เปลี่ยนแปลงเหตุการณ์ที่เหมาะสมจะได้รับการส่งสัญญาณไปยัง
พุ่งพรวดภูตผ่าน
initctl
ดังนั้นในการเริ่ม / หยุด / โหลดใหม่ / รีสตาร์ท apache บน Ubuntu คุณสามารถใช้:
sudo start apache2
sudo stop apache2
sudo reload apache2
sudo restart apache2
sudo /etc/init.d/apache2 restart
แน่นอนคุณสามารถสลับออกrestart
สำหรับstop
, start
และ (ฉันคิด)reload
วิธีอูบุนตู:
sudo service apache2 restart|stop|start
ดังที่ Marius กล่าวว่าควรใช้อย่างสง่างามเพื่อเริ่มใหม่:
sudo apache2ctl graceful
หรือ
sudo apache2ctl graceful-stop
เพื่อหยุด Apache อย่างสง่างาม
คำสั่งเหล่านี้รอจนกว่าจะมีการให้บริการหน้าเว็บทั้งหมดก่อนที่จะรีสตาร์ท / หยุดเว็บเซิร์ฟเวอร์เพื่อให้ผู้ใช้ของคุณไม่ได้รับครึ่งหน้าเว็บ
ก่อนอื่นให้คุณตรวจสอบสถานะโดยใช้คำสั่งนี้
sudo service apache2 status
จากนั้นหยุดบริการที่กำลังทำงานอยู่
sudo service apache2 stop
จากนั้นใช้คำสั่งนี้:
sudo /opt/lampp/lampp start
วิธีนี้ใช้ได้ผลสำหรับฉัน
หากคุณติดตั้ง Apache 2.4 เวอร์ชั่นในระบบของคุณเพื่อเริ่มต้นใหม่หรือหยุดเซิร์ฟเวอร์ Apache ของคุณบนระบบภายในของคุณคุณควรรันคำสั่งต่อไปนี้
./apachectl start
หรือคุณสามารถใช้การรีสตาร์ท , หยุดยังตามความต้องการของคุณ นี่คือรหัสทดสอบ
คุณสามารถใช้บริการต่าง ๆ ในการรีสตาร์ท Apache
service apache2 restart
และคุณสามารถใช้ฟังก์ชั่นทั้งหมดได้ (หยุด - เริ่ม - โหลดซ้ำ)
วิธีที่ดีที่สุดในการรีสตาร์ทเซิร์ฟเวอร์ Apache ของคุณคือการใช้คำสั่งต่อไปนี้:
$ sudo service apache2 restart
Alter คุณสามารถใช้คำสั่งด้านล่าง:
$ sudo /etc/init.d/apache2 restart
sudo systemctl restart apache2
systemctl - ควบคุมระบบ systemd และผู้จัดการบริการ
systemctl อาจถูกใช้เพื่อวิปัสสนาและควบคุมสถานะของระบบ "systemd" และผู้จัดการบริการ
ถ้าคุณเป็นรูท: (ในรูทของอูบุนตูถูกปิดใช้งานฉันคิดว่าใช้คำสั่ง 'sudo'!)
$ /etc/init.d/apache stop
$ /etc/init.d/apache start
$ /etc/init.d/apache restart
$ /etc/init.d/apache reload
(ถ้าคุณใช้ a2ensite หรือ a2dissite คุณจะต้องโหลด apache ใหม่อีกครั้ง)
root
ไม่ได้ปิดการใช้งานมันแค่ไม่มีรหัสผ่านหากคุณไม่ได้ให้ด้วยตัวคุณเอง
//stop apache
ควรจะเป็นความคิดเห็น? ถ้าเป็นเช่นนั้นสัญกรณ์มาตรฐานเปลือกจะเป็น#stop apache
, //
ไม่ทำงานในทุบตี
root
หรือเข้าสู่ระบบเป็นroot
ไปในทางที่ต้องใด ๆroot
รหัสผ่าน 's สำหรับเรื่องที่ แต่มีวิธีการอื่น ๆ root
ที่จะกลายเป็น ลองตัวอย่างsudo -i
แล้วตามด้วยwhoami
คุณจะเห็นว่าคุณลงชื่อเข้าใช้root
ด้วย นอกจากนี้หากคุณทำเช่นนั้นps aux | grep root
คุณจะเห็นว่าคุณมีกระบวนการมากมายที่ระบบของคุณทำงานroot
อยู่ ดังนั้นเนื้อหาroot
จะไม่ถูกปิดใช้งาน
sudo -E -s
หรือ โดยปิดการใช้งานฉันสมมติว่าสิ่งที่มีความหมายคือคุณไม่สามารถเข้าสู่ระบบได้โดยตรงroot
แต่คุณยังสามารถเรียกใช้กระบวนการroot
ได้
service
เป็นวิธี LSB และควรทำงานในการกระจายมากที่สุดตอนนี้ที่ Debian และ Ubuntu ได้รับในที่สุด