haproxy शुरू नहीं करता है


20

एक नया उबंटू 10.04 सर्वर स्थापित किया है और रूट के रूप में लॉगिंग करके मैंने apt-get का उपयोग करके haproxy स्थापित किया है।

मैं एक डेमॉन के रूप में सीधे हाइप्रोक्स चला सकता हूं लेकिन जब मैं कुछ /etc/init.d/haproxy startनहीं करता हूं .. तो त्रुटि संदेश भी नहीं।

netstat -a कुछ भी नहीं दिखा रहा है कि मैं उस बंदरगाह का उपयोग कर रहा हूँ जिसे मैं हाइप्रो के साथ संतुलित करने की कोशिश कर रहा हूँ ...

विचार?

संपादित करें

  1. मैंने देखा कि apt-get install haproxyअंत में यह कहता है:

    update-rc.d: चेतावनी: /etc/init.d/haproxy लापता LSB जानकारी अपडेट-rc.d: http://wiki.debian.org/LSBInitScripts देखें

  2. /etc/default/haproxy कहते हैं ENABLED=1

डिबगिंग आउटपुट के लिए sh -xv /etc/init.d/haproxy start

#!/bin/sh
#
# chkconfig: - 85 15
# description: HA-Proxy is a TCP/HTTP reverse proxy which is particularly suited \
#              for high availability environments.
# processname: haproxy
# config: /etc/haproxy.cfg
# pidfile: /var/run/haproxy.pid

# Source function library.
if [ -f /etc/init.d/functions ]; then
  . /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ] ; then
  . /etc/rc.d/init.d/functions
else
  exit 0
fi
+ [ -f /etc/init.d/functions ]
+ [ -f /etc/rc.d/init.d/functions ]
+ exit 0
root@li267-63:~#

आप के साथ शुरू स्क्रिप्ट को डीबग करने का प्रयास कर सकते हैं: sh -xv /etc/init.d/haproxy start
जोओ पिंटो

जवाबों:


39

संपादित करें /etc/default/haproxyऔर सुनिश्चित करें कि इसमें एक पंक्ति है जो इसमें कहती ENABLED=1है।

डिफ़ॉल्ट ENABLED = 0 है। ऐसा इसलिए किया जाता है क्योंकि हाइपोक्सी में कोई डिफ़ॉल्ट डिफ़ॉल्ट कॉन्फ़िगरेशन नहीं है, इसलिए आपको पहले इसे कॉन्फ़िगर करने की आवश्यकता है, फिर इसे सक्षम करें।


मैंने ENABLED = 1, अभी भी कुछ भी नहीं सेट किया है
Assaf Lavie

Assaf, आपको अभी भी haproxy को कॉन्फ़िगर करने की आवश्यकता है। यदि कॉन्फ़िग फ़ाइल सही नहीं है, तो यह प्रारंभ नहीं होगी, और संभवतः सिस्टम लॉग्स में त्रुटियों को प्रिंट किया है (check /var/log/daemon.log और / var / log / syslog)
SpamapS

2
यह बिना किसी क्रिया संदेश के क्यों शुरू नहीं होता है? यह वास्तव में भ्रामक है!
निकोले फोमिनाह

1
@NikolayFominyh मैं सहमत हूँ, यह भ्रामक है! मैं अंततः इस धागे को बार-बार ढूंढता हूं क्योंकि हर 8 महीने या तो मुझे एक नई हाइप्रोक्स सेटअप करना पड़ता है और मैं हमेशा / etc / default / * में सेवाओं को सक्षम करने की आवश्यकता के बारे में भूल जाता हूं। मेरी इच्छा है कि जब आप एक अक्षम सेवा शुरू करने का प्रयास करेंगे तो सिसोगल में कुछ पॉप अप होगा।
जे टेलर

3

मेरे पास एक ही मुद्दा था, जहां ENABLED की स्थापना का "परीक्षण" लाइन हमेशा विफल रहने के कारण कोई प्रभाव नहीं पड़ा। कारण मिला: आपको /etc/default/haproxyinit स्क्रिप्ट के बजाय संपादित करना होगा।


3

मुझे पता है कि यह एक साल पुराना धागा है .. लेकिन मैंने जो सीखा है उसे साझा करने की कोशिश कर रहा हूं।

का उपयोग करें /etc/init.d/haproxy reload या service haproxy reloadयह ठीक पुनः लोड करेगा .. आखिरकार हम चाहते हैं कि यह सही शुरू हो;)


2

मुझे एक ऐसी ही समस्या है। मैंने पहले से ही ENABLED = 1 सेट कर दिया है, लेकिन डिफ़ॉल्ट अपडेट-rc.d कॉन्फ़िगेशन को K20 में rpro0 (rc0 | 1 | 6.d) और S20 (rc2 | 3 | 4 | 5.d) में लगाने के लिए लगता है। इसका मतलब है कि यह नेटवर्किंग से पहले शुरू करने की कोशिश करेगा, इसलिए मेरे मामले में मैं इसे boot.log में प्राप्त करूंगा: -

 * हाईप्रोफाइल हाइप्रोक्सी शुरू करना [ALERT] 346/160552 (927): प्रॉक्सी हाइप्रोक्सी शुरू करना: सॉकेट को बाँध नहीं सकता
[ALERT] ३४६/१६०५५२ (९ २xy): प्रॉक्सी हाइप्रोक्सी शुरू करना: सॉकेट को बांध नहीं सकता
[ALERT] ३४६/१६०५५२ (९ २xy): प्रॉक्सी हाइप्रोक्सी शुरू करना: सॉकेट को बांध नहीं सकता
[ALERT] ३४६/१६०५५२ (९ २xy): प्रॉक्सी हाइप्रोक्सी शुरू करना: सॉकेट को बांध नहीं सकता
[ALERT] ३४६/१६०५५२ (९ २xy): प्रॉक्सी हाइप्रोक्सी शुरू करना: सॉकेट को बांध नहीं सकता
[ALERT] ३४६/१६०५५२ (९ २xy): प्रॉक्सी हाइप्रोक्सी शुरू करना: सॉकेट को बांध नहीं सकता
[ALERT] ३४६/१६०५५२ (९ २xy): प्रॉक्सी हाइप्रोक्सी शुरू करना: सॉकेट को बांध नहीं सकता
                                                                         [असफल]

स्टार्टअप नंबर को 35 में बदलना इसे ठीक करता है, लेकिन मुझे लगता है कि 36 सुरक्षित होगा (नेटवर्किंग के लिए पुरानी संख्या 35 थी, इसलिए सबसे अच्छा यह है कि इसके बाद शुरू करें)। इसलिए कोशिश करें:-

update-rc.d -f haproxy remove
update-rc.d haproxy start 35 2 3 4 5 रोक 20 0 1 6।

फिर रिबूट करें, और इसे इसे सॉर्ट करना चाहिए। पैकेज मेंटेनर्स को वास्तव में इस बारे में सोचना चाहिए था।


SiBaz, सुनिश्चित नहीं है कि आप उबंटू का कौन सा संस्करण चला रहे हैं, लेकिन ल्यूसिड में, जिस सिस्टम के बारे में सवाल था, नेटवर्किंग आरसी-साइसिटिट संक्रमण से पहले डिफ़ॉल्ट रनलेवल (2) से शुरू होता है, जो कि / etc / rc2 है .d स्क्रिप्ट।
स्पामाप्स

मैं ल्यूसिड का भी उपयोग कर रहा हूं, और मैं आपको आश्वस्त कर सकता हूं कि जब hproxy को rc2.d /../ init.d / haproxy के माध्यम से शुरू किया गया था, तो आप नेटवर्किंग शुरू नहीं कर सकते थे। मैंने यह भी देखा है कि, मैंने जो सुझाव दिया वह काम नहीं आया, इसलिए मुझे hproxy से पहले शुरू करने के लिए rc के स्तर 2 3 4 5 में नेटवर्किंग को जोड़ना पड़ा, अपडेट- rc.d नेटवर्किंग शुरू करने के लिए 35 2 3 4 5. मुझे एहसास है कि यह एक है हैक, समाधान के रूप में एक upstart स्क्रिप्ट जोड़ना होगा। मैं haproxy पैकेज के खिलाफ बग को स्पष्ट करने के लिए उस प्रभाव के लिए बनाया है।

2

मैं पहली बार ubuntu बनाए हुए पैकेज को स्थापित करने के बाद और फिर इस संस्करण में भाग गया (फिर संस्करण को महसूस करने के बाद मुझे उस सुविधा का समर्थन नहीं किया जिसकी मुझे जरूरत थी) एक नया संस्करण haproxy का अधिष्ठापन। जब मैं वास्तव में मेरा निष्पादन योग्य / usr / स्थानीय / sbin / haproxy में था, तो init.d स्क्रिप्ट जिसे मैं / usr / sbin / haproxy को इंगित करता हूं, के साथ घाव करता हूं। डीबग आउटपुट "sh -xv /etc/init.d/haproxy start" में पहले बताई गई यह समस्या काफी स्पष्ट थी।


मैं इसे कम से कम दो बार बढ़ाना चाहूंगा।
बाल्ज़ नेमेथ

2

क्या आपने इसे रूट के रूप में शुरू करने की कोशिश की, या सूडो के साथ? यदि आप मेरी तरह हैं, तो आप कभी-कभी कमांडो के सामने सूडो जोड़ना भूल जाते हैं। मैंने आपके सभी आदेशों को बिना सूदो के आज़माया, और जैसा आपने बताया, वे विफल रहे। हालांकि, उनके सामने sudo के साथ, haproxy.cfgइंस्टॉल से डिफ़ॉल्ट फ़ाइल का उपयोग करते हुए , यह अब समस्याओं के बिना चल रहा है। बस मैंने सोचा था कि सही विन्यास के साथ भी, मेरे लिए यह सूडो के बिना नहीं जाएगा।


:) हाँ, रूट के रूप में किया
Assaf Lavie

1

मैं सिर्फ haproxy init.d स्क्रिप्ट के साथ ल्यूसिड पर एक ही मुद्दे का सामना किया। मैं बस शुरू करने के लिए haproxy नहीं पा सका, इसलिए मैंने इसे देखा और पाया कि आपको /etc/init.d/haproxy स्क्रिप्ट में ENABLED चर बदलना होगा।

हालाँकि इस चर को बदलने में कोई मदद नहीं की गई है और यही कारण है: /etc/init.d/haproxy में कुछ पंक्तियाँ निम्न पंक्ति के साथ लिपि द्वारा जाँच की जा रही हैं: "$ ENABLED!" = 0 "" || बाहर निकलना 0. मैंने देखा कि यह परीक्षण हमेशा मेरे सिस्टम पर विफल रहेगा, कोई बात नहीं कि ENABLED का मूल्य क्या है। इसलिए बाकी स्क्रिप्ट कभी नहीं चलती है।

मुझे यह स्वीकार करना चाहिए कि मैं वास्तव में नहीं जानता कि यह परीक्षण पंक्ति ठीक से काम क्यों नहीं करती है। लेकिन जब से हम चाहते हैं कि हाइप्रोक्सी को वैसे भी सक्षम किया जाए, तो चेकिंग क्यों परेशान करती है? ... इस परीक्षण पंक्ति को टिप्पणी करते हुए यह मेरे लिए काम कर गया।

आशा है कि यह किसी को भी मदद करता है।


मुझे लगता है कि आप इतने सक्षम ध्वज को / etc / default / haproxy में सेट करते हैं
UpTheCreek

0

मैं स्कैप्ट पर भी घूरता रहा, यह नहीं देख सका कि यह ENABLED=1इनिट-स्क्रिप्ट के भीतर परिभाषित होने के बावजूद काम क्यों नहीं कर रहा था ।

आखिरकार, थोड़ा नीचे देखने के बाद, आप देखेंगे कि /etc/default/haproxy-fileपरीक्षण किए जाने से ठीक पहले इसे खट्टा कर दिया गया है, इस प्रकार इनिट-स्क्रिप्ट में सेट-चर को अधिलेखित कर दिया गया है ...


0

एक debian vm के साथ azure पर एक ही समस्या में भाग गया। काफी सरल हो जाता है। हाइप्रोक्स की init स्क्रिप्ट रन-टाइम निर्भरता का उपयोग करती है। पुराने सिस्टम में अपडेट- rc.d जाने का रास्ता था, लेकिन नए सिस्टम पर insserv का उपयोग किया जाता है: https://wiki.debian.org/LSBInitScripts/D dependencyBasedBoot

इसलिए अगर आपने नए सिस्टम पर haproxy सेवा को जोड़ने के लिए update-rc.d का उपयोग किया है, तो आपको यह करना चाहिए:

$ sudo update-rc.d -f haproxy remove

$ सुडो इंसर्व हप्रो

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.