haproxy başlamıyor


20

Yeni bir Ubuntu 10.04 sunucusu kurdum ve root olarak giriş yaparak apt-get kullanarak haproxy kurdum.

Haproxy'i doğrudan bir daemon olarak çalıştırabilirim, ancak /etc/init.d/haproxy starthiçbir şey olmadığında .. bir hata mesajı bile vermeyebilirim .

netstat -a hiçbir şeyin http portunu kullanmayacağını gösterir haproxy ile dengelemeye çalışıyorum ...

Fikirler?

Düzenle

  1. apt-get install haproxySonunda bunu söylediğini fark ettim :

    update-rc.d: warning: /etc/init.d/haproxy eksik LSB bilgisi update-rc.d: bkz. http://wiki.debian.org/LSBInitScripts

  2. /etc/default/haproxy diyor ENABLED=1

İçin Hata Ayıklama Çıktısı 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:~#

Başlangıç ​​komut dosyasını hata ayıklamayı deneyebilirsiniz: sh -xv /etc/init.d/haproxy start
João Pinto

Yanıtlar:


39

Düzenleyin /etc/default/haproxyve içinde yazan bir satır olduğundan emin olun ENABLED=1.

Varsayılan ayar ENABLED = 0'dır. Bu, haproxy'nin mantıklı bir varsayılan yapılandırmasına sahip olmadığı için yapılır, bu nedenle önce yapılandırmanız, sonra etkinleştirmeniz gerekir.


ENABLED = 1 ayarını yaptım, hala hiçbir şey ..
Assaf Lavie

Assaf, haproxy'yi yapılandırmanız gerekiyor. Eğer config dosyası doğru değilse, başlamaz ve muhtemelen sistem günlüklerinde hatalar yazdırır (check /var/log/daemon.log ve / var / log / syslog)
SpamapS

2
Neden ayrıntılı bir mesaj olmadan başlamıyor? Bu gerçekten kafa karıştırıcı!
Nikolay Fominyh

1
@NikolayFominyh Katılıyorum, bu kafa karıştırıcı! Sonunda bu konuyu tekrar tekrar buluyorum, çünkü her 8 ayda bir yeni haproksi kurmam gerekiyor ve / etc / default / * hizmetlerini etkinleştirme gereksinimini her zaman unutuyorum. Engelli bir servisi başlatmaya çalıştığınızda syslog'da bir şey açılırsa keşke.
Jay Taylor

3

ENABLED ayarının "test" satırının daima başarısız olması nedeniyle etkisinin olmadığı aynı sorunu yaşadım. Sebep bulundu: /etc/default/haproxyinit betiği yerine düzenlemek zorundasınız .


3

Bunu bir yıllık konu biliyorum .. ama öğrendiklerimi paylaşmaya çalışıyorum ..

kullanın /etc/init.d/haproxy reload veya service haproxy reloadve yeniden para cezası yeniden yüklenir.


2

Benim de benzer bir problemim var. ENABLED = 1 ayarını yaptım, ancak varsayılan güncelleme-rc.d config haproxy'yi K20 (rc0 | 1 | 6.d) ve S20'ye (rc2 | 3 | 4 | 5.d) koyuyor gibi görünüyor. Bu, ağ oluşturmadan önce başlamaya çalışacağı anlamına gelir, bu yüzden benim durumumda bunu boot.log'da alıyorum:

 * Başlangıç ​​haproxy haproxy [ALERT] 346/160552 (927): Başlangıç ​​proxy haproxy: soketi bağlayamıyor
[ALERT] 346/160552 (927): Başlangıç ​​proxy haproksi: soketi bağlayamıyor
[ALERT] 346/160552 (927): Başlangıç ​​proxy haproksi: soketi bağlayamıyor
[ALERT] 346/160552 (927): Başlangıç ​​proxy haproksi: soketi bağlayamıyor
[ALERT] 346/160552 (927): Başlangıç ​​proxy haproksi: soketi bağlayamıyor
[ALERT] 346/160552 (927): Başlangıç ​​proxy haproksi: soketi bağlayamıyor
[ALERT] 346/160552 (927): Başlangıç ​​proxy haproksi: soketi bağlayamıyor
                                                                         [başarısız]

başlangıç ​​numarasının 35 olarak değiştirilmesi sorunu çözüyor gibi görünüyor, ancak 36 kişinin daha güvenli olacağını düşünüyorum (ağ oluşturma için eski sayı 35'tir, bu nedenle bundan sonra başlayalım). O zaman dene:-

update-rc.d -f haproxy kaldır
update-rc.d haproxy başlat 35 2 3 4 5. 20 0 1 6'yı durdur.

Sonra yeniden başlat ve sıralaması gerekir. Paket servis sağlayıcıları bunu gerçekten düşünmeliydi.


SiBaz, hangi Ubuntu sürümünü çalıştırdığınızdan emin değilsiniz, ancak Lucid'de sorunun konusu olduğu sistem, rc-sysinit, / etc / rc2 komutunu çalıştıran varsayılan çalışma seviyesine (2) geçmeden önce ağ üzerinden başlatılmasıyla başlar. .d komut dosyaları.
SpamapS

Ben de lucid kullanıyorum ve haproxy rc2.d /../ init.d / haproxy ile başlatıldığında ağ bağlantısının başlatılmadığından emin olabilirsiniz. Ayrıca, önerdiklerimin işe yaramadığını fark ettim, bu yüzden haproxy'den önce başlamak için rc 2/4 4 5 seviyelerine ağ eklemek zorunda kaldım, update-rc.d networking 35 2 3 4 5. Bunun farkındayım. kesmek, çözüm olarak bir başlangıç ​​betiği eklemek olacaktır. Bu etkiyi netleştirmek için haproxy paketine karşı bir hata yarattım.

2

Ubuntu tutulan paketi ilk yükledikten sonra ve sonra (versiyonun ihtiyaç duyduğum özelliği desteklemediğinin farkına vardıktan sonra) haproxy'nin daha yeni bir ppa sürümünü kurdum. Çalıştırılabildiğim init.d betiği, çalıştırılabilir dosyam aslında / usr / local / sbin / haproxy'deyken / usr / sbin / haproxy işaret etti. daha önce belirtilen "sh -xv /etc/init.d/haproxy start" hata ayıklama çıkışı bu sorunu oldukça açık bir şekilde ortaya koydu.


Bunu en az iki kez yükseltmek istiyorum.
Balázs Németh

2

Kök olarak mı yoksa sudo ile mi başlatmaya çalıştınız? Benim gibiyseniz, bazen komutların önüne sudo eklemeyi unutursunuz. Tüm komutlarınızı sudo olmadan denedim ve sizin de tarif ettiğiniz gibi başarısız oldular. Ancak, önlerinde sudo olması durumunda haproxy.cfg, kurulumda varsayılan bir dosya kullanarak , şimdi sorunsuz çalışıyor. Sadece doğru konfigürasyonlarla bile, benim için sudo kullanmayacağımı işaret edeceğimi düşündüm.


:) evet, kök olarak yapılır
Assaf Lavie

1

Aynı sorunu lucid'deki haproxy init.d betiği ile de karşıladım. Başlamak için haproxy bulamadım, bu yüzden araştırdım ve ENABLED değişkenini /etc/init.d/haproxy betiğinde değiştirmek zorunda kaldığınızı fark ettim.

Ancak bu değişkeni değiştirmek hiç yardımcı olmadı ve bu yüzden: Sebep: /etc/init.d/haproxy 'de birkaç satır daha düşük ENABLED değişkeni aşağıdaki satırda bulunan script tarafından kontrol edildi: test "$ ENABLED"! = "0" || çıkış 0. Bu testin sistemimde HER ZAMAN başarısız olacağını, ENABLED'in ne kadar önemli olduğunu fark etmedim. Yani betiğin geri kalanı asla çalıştırılmaz.

İtiraf etmeliyim ki, bu test çizgisinin neden düzgün çalışmadığını bilmiyorum. Ancak, hapyxy'nin yine de etkin olmasını istediğimizden, neden kontrol etmeyi rahatsız ediyorsun? ... Bu test çizgisini yorumlamak benim için çalışmamı sağladı.

Umarım bu herkese yardımcı olur.


Sanırım, etkin bayrağı / etc / default / haproxy olarak ayarlayın
UpTheCreek

0

Ben de yazıya bakmaya devam ettim, ENABLED=1init betiğinde tanımlananlara rağmen neden işe yaramadığını anlayamadım .

Sonunda, biraz aşağı baktıktan sonra /etc/default/haproxy-file, testin yapılmasından hemen önce kaynaklandığını göreceksiniz , böylece init betiğinin içindeki set değişkeninin üzerine yazılacak ...


0

Debian vm ile masmavi aynı sorunu yaşadı. Oldukça basit olduğu ortaya çıktı. Haproxy'nin init betiği çalışma zamanı bağımlılıklarını kullanır. Eski sistem güncellemesinde -ccd yoluna gidildi, ancak yeni sistemde insserv kullanıldı: https://wiki.debian.org/LSBInitScripts/DependencyBasedBoot

Dolayısıyla, haproxy hizmetini yeni sistemlere eklemek için update-rc.d kullandıysanız, şunları yapmalısınız:

$ sudo güncelleme-rc.d -f haproxy kaldır

$ sudo insserv haproxy

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.