อะไรคือความแตกต่างระหว่างไดเร็กทอรีที่เปิดใช้งานไซต์และไซต์ที่พร้อมใช้งาน?


คำตอบ:


104

ความแตกต่างคือไซต์เสมือนที่แสดงรายการในsites-enabledไดเร็กทอรีนั้นให้บริการโดย apache ในsites-availableไดเรกทอรีมีเว็บไซต์เสมือนที่มีอยู่บนเซิร์ฟเวอร์ของคุณ แต่คนไม่สามารถเข้าถึงพวกเขาเพราะพวกเขาจะไม่เปิดใช้งานเลย

sites-available:ไดเร็กทอรีนี้มีไฟล์คอนฟิกูเรชันสำหรับ Apache2 Virtual Hosts โฮสต์เสมือนอนุญาตให้กำหนดค่า Apache2 สำหรับหลายไซต์ที่มีการกำหนดค่าแยกกัน

เว็บไซต์ที่เปิดใช้งาน:เหมือนวัยรุ่นที่เปิดใช้งานเว็บไซต์ที่เปิดใช้งานมี symlinks ไป etc / apache2 / directory ในทำนองเดียวกันเมื่อมีการเชื่อมโยงไฟล์คอนฟิกูเรชันในไซต์ที่พร้อมใช้งานไซต์ที่กำหนดค่าโดยไซต์จะใช้งานได้เมื่อเริ่มการทำงานของ Apache2

ดูที่นี่https://help.ubuntu.com/lts/serverguide/httpd.html


28
ฉันควรแก้ไขไฟล์ในไซต์ที่เปิดใช้งานหรือในไซต์ที่พร้อมใช้งาน ?
user3448600

29
@ user3448600 คุณควรแก้ไขไฟล์ในไซต์ที่ใช้ได้
ABC

2
หากเป็น symlink ก็ไม่สำคัญว่าคุณจะแก้ไข
อันไหน

5
@Buksy จริงๆแล้วมันสำคัญถ้าคุณใช้ตัวแก้ไขนาโน ดูคำตอบของฉันสำหรับรายละเอียด
viniciussss

90

ข้อมูลสำคัญ:

คุณควรจะแก้ไขไฟล์เท่านั้นในsites-availableไดเรกทอรี

อย่าแก้ไขไฟล์ภายในsites-enabledไดเร็กทอรีมิฉะนั้นคุณอาจมีปัญหาได้หากตัวแก้ไขของคุณมีหน่วยความจำไม่เพียงพอหรือไม่ว่าด้วยเหตุผลใดก็ตามได้รับ SIGHUP หรือ SIGTERM

ตัวอย่างเช่นหากคุณกำลังใช้nanoเพื่อแก้ไขไฟล์sites-enabled/defaultและหน่วยความจำหมดหรือไม่ว่าด้วยเหตุผลใดก็ตามได้รับ SIGHUP หรือ SIGTERM จากนั้นnanoจะสร้างไฟล์ฉุกเฉินที่เรียกว่าdefault.saveภายในsites-enabledไดเร็กทอรี ดังนั้นจะมีไฟล์พิเศษอยู่ในsites-enabledไดเร็กทอรี ซึ่งจะป้องกันไม่ให้ Apache หรือ NGINX เริ่มทำงาน หากไซต์ของคุณใช้งานได้เว็บไซต์จะไม่เป็นเช่นนั้นอีกต่อไป คุณจะมีช่วงเวลาที่ยากลำบากจนกว่าคุณจะพบสิ่งที่เกี่ยวข้องกับdefault.saveไฟล์ในบันทึกจากนั้นจึงลบออก

ในตัวอย่างด้านบนหากคุณกำลังแก้ไขไฟล์ภายในsites-availableไดเร็กทอรีจะไม่มีอะไรเลวร้ายเกิดขึ้น ไฟล์sites-available/default.saveจะถูกสร้างขึ้น แต่จะไม่ทำอันตรายใด ๆ ภายในsites-availableไดเร็กทอรี


6

คุณกำหนดค่าไซต์ของคุณmysiteโดยการสร้างหรือแก้ไขไฟล์mysite.confในsites-available(คุณยังสามารถกำหนดค่าไซต์ต่างๆในไฟล์. config เดียวกันได้หากต้องการ)

หลังจากนี้สำหรับการเผยแพร่เว็บไซต์ที่คุณต้องสร้าง symlink sites-enabledผู้สื่อข่าวใน ใน Ubuntu คุณสามารถทำได้ดังนี้:

a2ensite mysite(ด้วยsudoถ้าจำเป็นและไม่มี. conf สุดท้าย)

จากนั้นคุณต้องโหลด Apache ใหม่:

sudo service apache2 reload

ต่อมาถ้าคุณต้องการที่จะปรับเปลี่ยนการตั้งค่าที่คุณจะสัมผัสในmysite.conf sites_availableการเปลี่ยนแปลงจะมีผลโดยอัตโนมัติsites_enabledผ่านทาง symlink อย่าลืมโหลด Apache ซ้ำ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.