วิธีหลีกเลี่ยงการรีสตาร์ท Apache proxy เมื่อคุณรีสตาร์ท CouchDB


12

ฉันใช้งานอินสแตนซ์ CouchDB ของ localhost โดยใช้CouchDBXบน Mac ของฉันซึ่งอยู่เบื้องหลัง Apache 2 โดยใช้ProxyPassคำสั่ง:

<VirtualHost *:80>
    ServerName playlick # points to localhost in /etc/hosts
    DocumentRoot "/Users/james/Sites/playlick"
    ProxyPass /data http://localhost:5984
    ProxyPassReverse /data http://localhost:5984
</VirtualHost>

ถ้าฉันพยายามที่จะกดอินสแตนซ์ Couch ของฉันในhttp://playlick/dataขณะที่มันไม่ทำงานฉันจะได้รับข้อผิดพลาด503 Service ที่ไม่สามารถใช้งานได้ชั่วคราวตามที่คาดไว้

จากนั้นฉันก็เริ่มเซิร์ฟเวอร์ Couch และกด URL เดียวกัน แต่ฉันยังคงได้รับข้อผิดพลาดจนกว่าฉันจะรีสตาร์ทพร็อกซี Apache

หากในอีกทางหนึ่งฉันเริ่มต้นอินสแตนซ์ Couch ก่อนที่จะกดปุ่ม URL ทุกอย่างทำงานได้ดีโดยไม่ต้องแตะ Apache

ดังนั้นดูเหมือนว่าข้อผิดพลาด 503 จะถูกแคชจนกว่ากระบวนการ Apache จะเริ่มต้นใหม่ ฉันจะหยุดสิ่งนี้ไม่ให้เกิดขึ้นได้อย่างไร

หรือหากเป็นไปไม่ได้ฉันจะบังคับให้ Apache รีสตาร์ทเมื่อฉันเริ่มต้นอินสแตนซ์ Couch ในแอพ CouchDBX GUI ได้อย่างไร


คุณได้รับข้อมูลในโลกอย่างไรเพื่อให้ทำงานได้อย่างถูกต้อง ฉันลองและรับ "ไฟล์ไม่มีอยู่: [DocumentRoot] / _ all_dbs, ผู้อ้างอิง: localhost / data / _utils / index.html " ดูเหมือนว่ามีปัญหาใน jquery.couch.js เพราะพวกเขาอ้างถึง "/ _all_dbs" และการลบ "/" จะทำให้ข้อผิดพลาดดังกล่าวปรากฏขึ้นเมื่อเทียบกับ _utils แต่นี่เป็นข้อผิดพลาดจริงๆหรือมีอย่างอื่นที่ฉันมี การกำหนดค่า?
nicerobot

คำตอบ:


15

ฉันเชื่อว่าสิ่งที่คุณต้องมองคือตัวเลือกการลองใหม่ที่คุณสามารถส่งผ่านด้วยคำสั่งProxyPass

ลองเริ่มต้นอีกครั้ง : 60 วินาที

ผู้ประกอบการเชื่อมต่อพยายามลองใหม่หมดเวลาในไม่กี่วินาที หากพนักงานพูลการเชื่อมต่อไปยังเซิร์ฟเวอร์ส่วนหลังอยู่ในสถานะข้อผิดพลาด Apache จะไม่ส่งต่อการร้องขอใด ๆ ไปยังเซิร์ฟเวอร์นั้นจนกว่าจะหมดเวลา สิ่งนี้ช่วยให้สามารถปิดเซิร์ฟเวอร์แบ็คเอนด์เพื่อการบำรุงรักษาและนำกลับมาออนไลน์ในภายหลัง ค่า 0 หมายถึงพยายามคนงานในสถานะข้อผิดพลาดโดยไม่มีการหมดเวลา


4
สมบูรณ์ สิ่งนี้ทำได้: ProxyPass / data localhost: 5984 retry = 0
James Wheare

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