เดอะ ชื่อเซิร์ฟเวอร์
แอตทริบิวต์ในไฟล์การกำหนดค่า Apache ของคุณไม่จำเป็นต้องซ้ำ เนื่องจากแต่ละบรรทัดที่ตามมาจะแทนที่บรรทัดก่อนหน้า
คุณสามารถใช้แทน ชื่อเซิร์ฟเวอร์
กับ นามแฝงเซิร์ฟเวอร์
แบบนี้:
ชื่อเซิร์ฟเวอร์ jekyll
เซิร์ฟเวอร์นามแฝง jekyll.local *.jekyll *.jekyll.local
โปรดทราบว่าสิ่งนี้ไม่มีเหตุผล:
127.0.0.1 localhost/jekyll
127.0.0.1 localhost/other-site
สิ่งเหล่านี้ไม่ใช่โดเมน (หรือโดเมนย่อย) แต่เป็นเส้นทางภายใต้ โลคัลโฮสต์
. เป็นผลให้เท่านั้น โลคัลโฮสต์
จะถูกสังเกต นี่คือเหตุผลที่ฉันไม่ได้รวมไว้ในการกำหนดค่า Apache ตามที่ระบุไว้ข้างต้น
ด้วยเหตุนี้ คุณจึงสามารถมี สาม ไฟล์การกำหนดค่า Apache:
€ 000-jekyll.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName jekyll
ServerAlias jekyll.local *.jekyll *.jekyll.local
DirectoryIndex index.html
DocumentRoot /var/www/jekyll/_site
LimitRequestFieldSize 48000
<Directory /var/www/jekyll/_site>
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/jekyll-error.log
CustomLog ${APACHE_LOG_DIR}/jekyll-access.log combined
</VirtualHost>
€ 001-other.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName other-site
ServerAlias other-site.local *.other-site *.other-site.local
DirectoryIndex index.html
DocumentRoot /var/www/other-site/_site
LimitRequestFieldSize 48000
<Directory /var/www/other-site/_site>
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/other-error.log
CustomLog ${APACHE_LOG_DIR}/other-access.log combined
</VirtualHost>
€ 999-default.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName localhost
ServerAlias *.localhost * *.*
DirectoryIndex index.html
DocumentRoot /var/www
LimitRequestFieldSize 48000
<Directory /var/www>
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/local-error.log
CustomLog ${APACHE_LOG_DIR}/local-access.log combined
</VirtualHost>
Apache ประมวลผลทราฟฟิกตามลำดับของไฟล์คอนฟิกูเรชัน ดังนั้นโดเมนใดๆ ที่ตรงกับที่ระบุใน 000-jekyll.conf
จะถูกจัดการโดยไฟล์นั้น หากไม่พบรายการที่ตรงกัน 001-other.conf
จะถูกตรวจสอบ หากไม่พบรายการที่ตรงกัน 999-default.conf
จะถูกนำไปใช้. หมายเหตุ นามแฝงเซิร์ฟเวอร์
ใน 999-default.conf
ไฟล์และวิธีการอาศัยไวลด์การ์ดที่เปิดกว้าง ซึ่งหมายความว่าจะถือว่าเป็น catch-all สำหรับทราฟฟิกที่ไม่ตรงกับไฟล์ปรับแต่งที่กำหนดไว้
บันทึก: ไฟล์คอนฟิกูเรชันของ Apache ได้รับการปรับปรุงเพื่อขจัดสิ่งที่ไม่เกี่ยวข้องออกไป ไดเรกทอรี
บล็อกและเพื่อให้แต่ละโฮสต์ใช้บันทึกข้อผิดพลาดของตนเอง