คำถามติดแท็ก varnish

วานิชเป็นแพ็คเกจ reverse proxy และ load-balancer ประสิทธิภาพสูงสำหรับระบบ Linux / Unix

13
วิธีการตั้งค่า Nginx เป็น reverse proxy แคชหรือไม่
ฉันได้ยินเมื่อเร็ว ๆ นี้ว่า Nginx ได้เพิ่มการแคชลงในคุณลักษณะพร็อกซีย้อนกลับ ฉันมองไปรอบ ๆ แต่ไม่พบข้อมูลมากนัก ฉันต้องการตั้งค่า Nginx เป็น reverse proxy แคชหน้า Apache / Django: เพื่อให้คำขอพร็อกซี Nginx สำหรับหน้าแบบไดนามิกบางส่วน (แต่ไม่ใช่ทั้งหมด) ไปยัง Apache จากนั้นแคชหน้าที่สร้างขึ้นและให้บริการการร้องขอหน้าถัดไปจากแคชเหล่านั้น เป็นการดีที่ฉันต้องการทำให้แคชใช้ไม่ได้ใน 2 วิธี: ตั้งวันที่หมดอายุในรายการที่แคช เพื่อทำให้รายการที่แคชไว้ใช้ไม่ได้อย่างชัดเจน เช่นถ้าแบ็คเอนด์ Django ของฉันมีการอัพเดทข้อมูลบางอย่างฉันต้องการบอก Nginx ให้ทำการแคชของหน้าเว็บที่ได้รับผลกระทบ เป็นไปได้ไหมที่จะตั้งให้ Nginx ทำเช่นนั้น? อย่างไร?

5
การสั่งซื้อ: 1. nginx 2. วานิช 3. haproxy 4. เว็บเซิร์ฟเวอร์?
ฉันเคยเห็นผู้คนแนะนำให้รวมสิ่งเหล่านี้ทั้งหมดเข้าด้วยกัน แต่ดูเหมือนว่าพวกเขาจะมีคุณสมบัติที่ทับซ้อนกันมากมายดังนั้นฉันจึงต้องการที่จะขุดลึกลงไปว่าทำไมคุณถึงต้องการผ่าน 3 โปรแกรมที่แตกต่างกัน Nginx: ssl: ใช่ บีบอัด: ใช่ แคช: ใช่ แบ็กเอนด์พูล: ใช่ เคลือบเงา: ssl: ไม่ (stunnel) บีบอัด: แคช: ใช่ (คุณสมบัติหลัก) แบ็กเอนด์พูล: ใช่ haproxy: ssl: ไม่ (stunnel) บีบอัด: แคช: ไม่ พูลแบ็กเอนด์: ใช่ (คุณสมบัติหลัก) ความตั้งใจที่จะผูกมัดสิ่งเหล่านี้ต่อหน้าเว็บเซิร์ฟเวอร์หลักของคุณเพียงเพื่อให้ได้ประโยชน์จากคุณสมบัติหลักของพวกเขาหรือไม่? ดูเหมือนว่าค่อนข้างบอบบางที่มี daemons จำนวนมากร่วมกันทำสิ่งที่คล้ายกัน การปรับใช้และการกำหนดลักษณะการสั่งซื้อของคุณคืออะไรและเพราะอะไร
50 nginx  web  haproxy  varnish 

2
วานิชแคช - TTL เริ่มต้น?
ฉันได้ค้นพบว่าฉันสามารถตั้งค่า TTL ในวานิชดังต่อไปนี้ในไฟล์ VCL ของฉัน: sub vcl_fetch { # 1 minute set obj.ttl = 1m; } แต่การตั้งค่าเริ่มต้นคืออะไร (สมมติว่าเซิร์ฟเวอร์ด้านหลังไม่มีการตั้งค่าส่วนหัวควบคุมแคช)
23 varnish  cache  ttl 

2
วานิชกับ nginx นั้นดีกว่าการใช้ nginx หรือไม่? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้จะเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ฉันเห็นจำนวนมากพูดคุยเกี่ยวกับการใช้ nginx กับวานิชและฉันไม่เข้าใจว่าทำไม ไม่เพียงพอหรือไม่ Nginx มี SSI, มี reverse proxy cache, มีน้ำหนักเบา, มี SSL, สามารถทำงานกับ cgi, fpm, เป็นต้น วานิชมีสิ่งเดียวกัน แต่ไม่มี ssl และไม่สนับสนุน cgi
22 nginx  varnish 

2
ฉันจะหาไฟล์บันทึกวานิชได้ที่ไหน / var / log / varnish ว่างเปล่า
ฉันพยายามอ่านไฟล์บันทึกของเซิร์ฟเวอร์ Varnish ในสภาพแวดล้อม Ubuntu ที่จริงฉันไม่เคยใช้วานิชมาก่อน ดังนั้น ... ฉันซีดีไปที่ / var / log / varnish แต่โฟลเดอร์ว่างเปล่า มันบอกฉันว่าฉันต้องกำหนดค่าเซิร์ฟเวอร์วานิชของฉันเพื่อบันทึกไฟล์บันทึก ... นั่นเป็นเรื่องจริงหรือ
21 logging  varnish 

3
จะตรวจสอบว่าขนาดแคชวานิชที่เลือกไว้เหมาะสมหรือไม่?
ฉันได้กำหนดค่าแคชวานิชของฉันให้ใช้ขนาดแคช 512 MB โดยใช้: varnishd ... -s file,/var/cache/varnish.cache,512M คำถาม: ฉันจะตรวจสอบได้อย่างไรว่า 512 MB เล็กเกินไปใหญ่เกินไปหรือไม่เป็นไร ฉันจะรับขนาดการใช้งานปัจจุบันของแคชได้อย่างไร ฉันจะดูได้ว่าวัตถุถูกลบออกจากแคชบ่อยเพียงใดเนื่องจากแคชเต็ม
20 varnish 

4
แนวปฏิบัติที่เหมาะสมที่สุดสำหรับที่เก็บแพ็กเกจพร็อกซี
ฉันมีชุดของเซิร์ฟเวอร์ CentOS ในเครือข่ายองค์กรของฉัน เพื่อเหตุผลด้านความปลอดภัยเซิร์ฟเวอร์ส่วนใหญ่ไม่มีการเข้าถึงอินเทอร์เน็ตขาออกทั่วไปเว้นแต่จะเป็นข้อกำหนดการทำงานหลักสำหรับเซิร์ฟเวอร์ สิ่งนี้สร้างความท้าทายเมื่อฉันต้องการอัปเดตแพ็คเกจ สำหรับที่เก็บ yum ฉันกำลังทำมิเรอร์ repos ที่จำเป็นทั้งหมดจากอินเทอร์เน็ตและทำให้มิเรอร์มีอยู่ในอินทราเน็ต ฉันเก็บสำเนาของ repo แต่ละตัวในสภาพแวดล้อมทั้งห้าของเรา: dev, QA, การจัดเตรียมและศูนย์ข้อมูลการผลิตสองแห่ง ขณะนี้ฉันไม่ได้แก้ปัญหาแพคเกจ repos ภาษาเฉพาะ เมื่อเซิร์ฟเวอร์ต้องการการอัปเดตจาก rubygems, PyPI, PECL, CPAN หรือ npm พวกเขาจะต้องได้รับการเข้าถึงอินเทอร์เน็ตขาออกชั่วคราวเพื่อดึงแพ็คเกจ ฉันถูกขอให้เริ่มทำมิรเรอร์ rubygems และ PyPI และที่เหลือก็จะตามมา ทั้งหมดนี้เป็น clunky และทำงานได้ไม่ดี ฉันต้องการแทนที่ด้วยพร็อกซีแคชเดียวในหนึ่งสภาพแวดล้อมและพร็อกซีเดซี่ที่ถูกโยงโซ่สี่ตัวในสภาพแวดล้อมอื่นของฉันเพื่อกำจัดความซับซ้อนและค่าใช้จ่ายในดิสก์ของกระจกเต็ม นอกจากนี้: สามารถเป็นได้ทั้งไปข้างหน้าหรือย้อนกลับ proxy; ตัวจัดการแพคเกจแต่ละตัวสนับสนุนพร็อกซีเซิร์ฟเวอร์หรือจุดเก็บข้อมูลปลายทางที่กำหนดเองซึ่งอาจเป็นมิรเรอร์โลคัลหรือพร็อกซีย้อนกลับ จำเป็นต้องมีการควบคุมการเข้าถึงอย่างละเอียดดังนั้นฉันจึงสามารถ จำกัด IP ของไคลเอ็นต์ที่สามารถเชื่อมต่อกับโดเมน repo ได้ ลูกค้าจะต้องสามารถติดตามการเปลี่ยนเส้นทางไปยังโดเมนที่ไม่รู้จัก คำขอดั้งเดิมของคุณอาจ จำกัด อยู่ที่ …

2
Custom 503 Error Page ด้วยวานิช
ฉันจะบอกให้วานิชแสดงหน้าข้อผิดพลาด html ที่กำหนดเองแทนที่จะเป็นข้อความ "Guru Meditation" ที่เป็นค่าเริ่มต้นได้อย่างไร
15 varnish 

1
กรณีแปลก ๆ ของ Mr. Time To First Byte
ฉันมีเว็บเซิร์ฟเวอร์โดยใช้ Linode 1024 VPS Ubuntu 11.10 Nginx 1.0.5 PHP 5.3.6 (ด้วย PHP-FPM, APC) วานิช 3.0.2 และมีบล็อกอีกสองสามตัวที่ใช้ WordPress 3.3.1 หนึ่งในนั้นคือบล็อกธรรมดาที่มีการกำหนดค่าเริ่มต้นชุดรูปแบบและเพียงโพสต์ "Hello World" เพื่อทดสอบเซิร์ฟเวอร์ อีกบล็อกหนึ่งถูกบล็อกจากเซิร์ฟเวอร์อื่นที่มีโพสต์เกือบ 10k และมีความคิดเห็นมากกว่า 10k บล็อกนี้มีเนื้อหาที่ไม่ซ้ำกัน 5 พันรายการต่อวัน เซิร์ฟเวอร์ให้ตัวเลขที่ดีในการทดสอบ ab สำหรับบล็อกทดสอบแต่การทดสอบเดียวกันกับบล็อกที่ทำโคลนนั้นเป็นไปไม่ได้: การทดสอบ ab โหลดเซิร์ฟเวอร์มากเกินไปและฉันต้องหยุดกระบวนการซึ่งทำให้ ab แสดงต่อไปผลลัพธ์ที่แย่มาก ฮ็อพแสดงให้เห็นถึงการโหลด "ปกติ" เมื่ออยู่ในการทำงานปกติแต่โหลดใหญ่ผิดปกติในระหว่างการทดสอบ ab มีสิ่งแปลกใหม่เกิดขึ้น (สำคัญที่สุดสำหรับฉัน): Time To First Byte สูงมากแต่หลังจากนั้นเว็บไซต์ก็โหลดเร็วมาก สามารถทดสอบได้อย่างง่ายดายด้วยบริการต่าง ๆ …

4
วานิช Nginx Nginx Django?
ฉันมีแอพ django และฉันต้องการตั้งค่า Varnish บนเซิร์ฟเวอร์ที่อยู่ตรงหน้า ในกระทู้เซิร์ฟเวอร์อื่นผิดใครบางคนแนะนำให้วาง Nginx หน้าวานิช ฉันควรวาง Nginx ไว้หน้า Varnish บนเซิร์ฟเวอร์แคชหรือไม่ ถ้าเป็นเช่นนั้นฉันควรใช้ Nginx บนเซิร์ฟเวอร์แอปหรือไม่
13 nginx  django  varnish 

2
วานิชเมื่อเทียบกับพร็อกซี่ย้อนกลับอื่น ๆ
ล็อคแล้ว คำถามและคำตอบของคำถามนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันทำงานกับองค์กรที่ปรับใช้ Varnish เป็นแคชพร็อกซีย้อนกลับสำหรับการรับส่งข้อมูลเว็บทั้งหมดของพวกเขา การรับส่งข้อมูลของพวกเขาเป็นเว็บไซต์ที่สร้างโดยลูกค้าจำนวนมากโดยมีการรวบรวมสินทรัพย์แบบคงที่ตามปกติ ในขณะที่ฉันพยายามที่จะชอบเคลือบเงา (ฉันคิดว่ามันมีสถาปัตยกรรมที่ดีงามตามหลักการ) ฉันมีปัญหาในการจัดการและแก้ไขปัญหาที่เกิดขึ้นดังนั้นฉันจึงสงสัยว่ามันเป็นตัวเลือกที่เหมาะสมจริงๆ ก่อนหน้านี้ฉันเคยใช้ squid เป็นพร็อกซีย้อนกลับ แต่ไม่ใช่ในบทบาทประเภทเดียวกันดังนั้นฉันจึงไม่มีพื้นฐานที่ชัดเจนสำหรับการเปรียบเทียบ คำถามของฉันมีเป้าหมายอยู่ที่คนที่ปรับใช้วานิชในการผลิตหรือประเมินอย่างจริงจังกับทางเลือกอื่น ๆ : คุณใช้วานิชหรือติดท้ายพร็อกซีอื่นหรือไม่ อะไรคือจุดสำคัญของคุณในการอยู่กับมันหรือเปลี่ยนไปและถ้าคุณใช้อย่างอื่นคุณใช้อะไร?

2
ความแตกต่างที่สำคัญระหว่าง SSI (รวมฝั่งเซิร์ฟเวอร์) และ ESI (รวมถึงขอบด้านข้าง)
ฉันจำเป็นต้องรวมเนื้อหาแบบไดนามิกในหน้าคงที่ในระดับเซิร์ฟเวอร์เว็บ 2 ตัวเลือกที่ฉันได้พบServer Side Include (SSI)และEdge Side Include (ESI). ในขณะที่ต้นกำเนิดของSSIดูเก่าและคลุมเครือ ( หน้าแคชจาก 95 จาก University of Illinois น่าจะเป็นข้อมูลอ้างอิงที่เห็นได้ชัดว่ามันมาจากNCSA httpdเว็บเซิร์ฟเวอร์ที่ใช้อำนาจประมาณ 95% ของสุทธิ ) ที่ESIดูเหมือนล่าสุดและชื่นชมยินดี ( w3 ข้อมูลจำเพาะจากปี 2001 ส่วนใหญ่เขียนโดยผู้ชายจาก Akamai ) นอกจากนี้ฉันยังได้ยินเกี่ยวกับVarnish+ESIและฉันก็สงสัยว่าควรจะเป็นเช่นนั้นหรือไม่ แต่ฉันมีการติดตั้งในสถานที่nginxซึ่งสนับสนุนเฉพาะSSI,และต้องการที่จะทำตามKISSหลักการและหลีกเลี่ยงการใช้Varnishถ้าเป็นไปได้ สำหรับกรณีการใช้งานทันทีของฉันซึ่งจะรวมแถบผู้ใช้แบบไดนามิกที่ด้านบนของแต่ละหน้าฉันเชื่อว่าSSIจะทำงาน อย่างไรก็ตามฉันกังวลว่าเมื่อเว็บไซต์ของฉันเติบโตขึ้นฉันจะต้องใช้คุณสมบัติที่สนับสนุนเท่านั้นESIซึ่งจะบังคับให้ฉันต้องออกแบบใหม่ทุกอย่างซึ่งนำฉันมาที่คำถามของฉัน (ในที่สุดผู้อ่านบอกว่า): อะไรคือคุณสมบัติหลักที่ไม่รองรับSSIซึ่งจะทำให้คุณเลือกESI(และในทางกลับกัน)?

2
ล้างแคชวานิชสำหรับ URL เดียวโดยใช้วานิช
วานิชกำลังถูกใช้ในเว็บไซต์ Wordpress ฉันต้องการกำจัด Varnish สำหรับ URL เดียวแทนที่จะเป็นทั้งโดเมน ด้วยคำสั่งนี้ฉันสามารถเริ่ม Varnish ใหม่สำหรับทั้งโดเมน: varnishadm -T :6082 -S /etc/varnish/secret 'ban req.http.host ~ \"http://www.foo.com\" && req.url ~ \"^/\"' อย่างไรก็ตามฉันต้องการล้างวานิชสำหรับ URL เดียวเท่านั้น Ex: www.foo.com/url_to_be_purged ฉันลองคำสั่งก่อนหน้าแทนที่ด้วย URL เดียว: varnishadm -T :6082 -S /etc/varnish/secret 'ban req.http.host ~ \"http://www.foo.com/url_to_be_purged\" && req.url ~ \"^/\"' แต่มันใช้งานไม่ได้ URL ยังอยู่HITในวานิช ความคิดใด ๆ ของฉันจะบรรลุสิ่งนี้ได้อย่างไร …
12 varnish  cache 

7
ฉันจะสร้างความสมดุลให้ปริมาณการใช้เว็บขาเข้าระหว่างเซิร์ฟเวอร์ N apache ได้อย่างไร
ฉันกำลังมองหาที่จะใช้บางสิ่งบางอย่างเช่น Heartbeat / Squid / Varnish / etc เพื่อปรับสมดุลปริมาณการรับส่งข้อมูลระหว่างอินสแตนซ์ apache ภายใน สิ่งนี้จะต้องเป็นซอฟต์แวร์ไม่ใช่ฮาร์ดแวร์เนื่องจากข้อมูลทั้งหมดของฉันทำงานบน VPS ฉันไม่ได้มีประสบการณ์มากมายในพื้นที่นี้ดังนั้นขออภัยถ้าฉันใช้คำศัพท์ที่ผิดและเลือกแพ็คเกจที่ไม่ถูกต้อง ฉันวาดบางสิ่งบางอย่างเพื่ออธิบายสิ่งที่ฉันเป็น ด้านสีเขียวคือลักษณะการตั้งค่าเริ่มต้นและด้านสีฟ้าคือลักษณะที่ปรากฏหลังจากเพิ่มอินสแตนซ์ apache เพิ่มเติมเนื่องจากการรับส่งข้อมูลเพิ่มขึ้น นี่อาจไม่ใช่สิ่งที่สิ่งเหล่านี้ทำงานได้ แต่โดยหลักแล้วฉันจะเพิ่ม IP ของตัวสร้างสมดุล / s ไปยัง DNS ของโดเมน จากนั้น balancer / s จะเห็นจำนวนการเชื่อมต่อที่อยู่ในแต่ละอินสแตนซ์ apache (ผ่านรายการการกำหนดค่าบางอย่างของ IP ภายในหรือ IP นิรันดร์) และกระจายการเชื่อมต่ออย่างเท่าเทียมกัน ในสีฟ้ามีบาลานเซอร์แห่งที่สองเพราะผมมั่นใจว่าในบางจุดบาลานเซอร์ก็ต้องการความช่วยเหลือเช่นกัน บางทีฉันอาจจะผิดเกี่ยวกับเรื่องนี้ แต่ฉันกำลังมองหาความช่วยเหลือเกี่ยวกับสิ่งที่ "balancer / s" ควรและแนวทางปฏิบัติที่ดีที่สุดเกี่ยวกับวิธีการตั้งค่าพวกเขา ความช่วยเหลือใด ๆ จะดีมาก

2
วิธีการติดตั้งโมดูลวานิชบน Ubuntu
ฉันต้องการที่จะติดตั้งโมดูลเพิ่มเติมสำหรับวานิชแคชที่โมดูลโล่ ฉันจะทำสิ่งนั้นได้อย่างไร ฉันติดตั้ง Varnish 3.0 จากที่เก็บ Ubuntu ฉันจะได้รับแหล่งวานิชที่โมดูลต้องการรวบรวมได้อย่างไร ฉันจำเป็นต้องรวบรวม Varnish จากแหล่งข้อมูลด้วยหรือไม่ ปิดใช้งานการอัปเดตวานิชผ่านที่เก็บหรือไม่ ใครสามารถให้คำแนะนำทีละขั้นตอนได้บ้าง
11 ubuntu  varnish 

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