Pertanyaan haproxy tidak dimulai


Menginstal server Ubuntu 10.04 baru dan masuk sebagai root saya menginstal haproxy menggunakan apt-get.

Saya dapat menjalankan haproxy langsung sebagai daemon tetapi ketika saya melakukannya /etc/init.d/haproxy start tidak ada yang terjadi .. bahkan tidak ada pesan kesalahan.

netstat -a menunjukkan tidak ada yang menggunakan port http Saya mencoba menyeimbangkan dengan haproxy ...

Ide ide?

Edit

  1. aku tahu itu apt-get install haproxy mengatakan ini pada akhirnya:

    update-rc.d: warning: /etc/init.d/haproxy tidak memiliki informasi LSB update-rc.d: see http://wiki.debian.org/LSBInitScripts

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

Output Debugging untuk 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:~#

20
2017-11-30 18:48


asal


Anda dapat mencoba untuk men-debug skrip awal dengan: sh -xv /etc/init.d/haproxy start - João Pinto


Jawaban:


Edit /etc/default/haproxy dan pastikan itu memiliki garis yang berbunyi ENABLED=1 di dalamnya.

Standarnya adalah ENABLED = 0. Ini dilakukan karena haproxy tidak memiliki konfigurasi default yang waras, jadi Anda harus mengkonfigurasinya terlebih dahulu, lalu mengaktifkannya.


39
2017-11-30 18:52



Saya mengatur ENABLED = 1, masih tidak ada .. - Assaf Lavie
Assaf, Anda masih perlu mengkonfigurasi haproxy. Jika file konfigurasi tidak benar, itu tidak akan mulai, dan mungkin telah mencetak kesalahan ke dalam log sistem (periksa /var/log/daemon.log dan / var / log / syslog) - SpamapS
Mengapa tidak dimulai tanpa pesan verbose? Benar-benar membingungkan! - Nikolay Fominyh
@NikolayFominyh Saya setuju, ini membingungkan! Saya akhirnya menemukan utas ini berulang karena setiap 8 bulan atau lebih saya harus menyiapkan haproxy baru dan saya selalu lupa tentang persyaratan untuk mengaktifkan layanan di / etc / default / *. Saya berharap sesuatu akan muncul di syslog ketika Anda mencoba memulai layanan yang dinonaktifkan. - Jay Taylor


Saya memiliki masalah yang sama, di mana pengaturan ENABLED tidak berpengaruh karena garis "test" selalu gagal. Temukan alasannya: Anda harus mengedit /etc/default/haproxy bukannya skrip init.


3
2017-12-03 21:46





Saya tahu ini thread lama tahun .. tetapi hanya mencoba untuk membagikan apa yang telah saya pelajari ..

menggunakan /etc/init.d/haproxy reload   atau service haproxy reload dan itu akan kembali bagus .. setelah semua kita hanya ingin memulai dengan benar;)


3
2017-12-06 05:32





Saya memiliki masalah serupa. Saya sudah mengatur ENABLED = 1, tetapi konfigurasi update-rc.d default tampaknya menempatkan haproxy di K20 (rc0 | 1 | 6.d) dan di S20 (rc2 | 3 | 4 | 5.d). Yang berarti itu akan mencoba untuk memulai sebelum jaringan, jadi dalam kasus saya, saya mendapatkan ini di boot.log: -

 * Memulai haproxy haproxy [ALERT] 346/160552 (927): Memulai proxy haproxy: tidak dapat mengikat soket
[ALERT] 346/160552 (927): Memulai proxy haproxy: tidak dapat mengikat soket
[ALERT] 346/160552 (927): Memulai proxy haproxy: tidak dapat mengikat soket
[ALERT] 346/160552 (927): Memulai proxy haproxy: tidak dapat mengikat soket
[ALERT] 346/160552 (927): Memulai proxy haproxy: tidak dapat mengikat soket
[ALERT] 346/160552 (927): Memulai proxy haproxy: tidak dapat mengikat soket
[ALERT] 346/160552 (927): Memulai proxy haproxy: tidak dapat mengikat soket
                                                                         [gagal]

mengubah nomor startup menjadi 35 tampaknya memperbaikinya, tapi saya pikir 36 akan lebih aman (nomor lama untuk jaringan adalah 35, jadi sebaiknya mulai setelah itu). Jadi cobalah: -

update-rc.d -f haproxy hapus
update-rc.d haproxy mulai 35 2 3 4 5. berhenti 20 0 1 6.

Kemudian reboot, dan itu harus mengatasinya. Pengelola paket seharusnya benar-benar memikirkan hal ini.


2
2017-12-13 16:17



SiBaz, tidak yakin versi Ubuntu apa yang Anda jalankan, tetapi di Lucid, sistem pertanyaannya adalah tentang, jaringan dimulai melalui pemula sebelum transisi rc-sysinit ke runlevel default (2), yang menjalankan / etc / rc2 skrip .d - SpamapS
Saya juga menggunakan jernih, dan saya dapat meyakinkan Anda bahwa jaringan belum dimulai ketika haproxy dimulai melalui rc2.d /../ init.d / haproxy. Saya juga memperhatikan bahwa, apa yang saya sarankan tidak berfungsi, jadi saya harus menambahkan jaringan ke level rc 2 3 4 5 untuk memulai sebelum haproxy, memperbarui-rc.d networking mulai 35 2 3 4 5. Saya menyadari itu adalah hack, karena solusinya adalah menambahkan skrip pemula. Saya telah membuat bug terhadap paket haproxy di jernih untuk efek itu.


Saya mengalami masalah yang sama ini setelah menginstal paket ubuntu pertama kali dan kemudian (setelah menyadari versi tidak mendukung fitur yang saya perlukan) Memasang versi haproxy ppa yang lebih baru. Skrip init.d yang saya letakkan dengan menunjuk ke / usr / sbin / haproxy padahal sebenarnya eksekusi saya ada di / usr / local / sbin / haproxy. output debug "sh -xv /etc/init.d/haproxy start" yang disebutkan sebelumnya membuat masalah ini cukup jelas.


2
2018-05-03 15:29



Saya ingin menaikkan suara ini setidaknya dua kali. - Balázs Mária Németh


Apakah Anda mencoba memulainya sebagai root, atau dengan sudo? Jika Anda seperti saya, Anda terkadang lupa untuk menambahkan sudo ke bagian depan perintah. Saya mencoba semua perintah Anda tanpa sudo, dan mereka gagal seperti yang Anda gambarkan. Namun, dengan sudo di depannya, menggunakan default haproxy.cfgfile dari instal, sekarang berjalan tanpa masalah. Hanya berpikir saya akan menunjukkan bahwa bahkan dengan konfigurasi yang benar, bagi saya itu tidak akan pergi tanpa sudo.


2
2017-08-17 17:51



:) ya, dilakukan sebagai root - Assaf Lavie


Saya baru saja mengalami masalah yang sama dengan skrip init.d haproxy di jernih. Saya tidak bisa mendapatkan haproxy untuk memulai, jadi saya mencarinya dan menemukan Anda harus mengubah variabel ENABLED dalam skrip /etc/init.d/haproxy.

Namun, mengubah variabel ini TIDAK membantu sama sekali dan inilah alasannya: Beberapa baris lebih rendah di /etc/init.d/haproxy variabel ENABLED diperiksa oleh skrip dengan baris berikut: test "$ ENABLED"! = "0" || exit 0. Saya melihat tes ini akan SELALU gagal pada sistem saya, tidak ada mather berapa nilai ENABLED. Jadi sisa naskahnya tidak pernah berjalan.

Saya harus mengakui bahwa saya tidak tahu mengapa baris tes ini tidak berfungsi dengan benar. Tapi karena kita ingin haproxy diaktifkan, mengapa repot-repot memeriksa? ... Mengomentari garis tes ini membuatnya bekerja untukku.

Semoga ini bisa membantu siapa saja.


1
2018-01-19 09:44



Saya pikir Anda seharusnya mengatur flag diaktifkan di / etc / default / haproxy - UpTheCreek


Saya juga terus menatap scipt, tidak bisa melihat mengapa itu tidak berhasil meskipun ENABLED=1 didefinisikan dalam skrip init.

Akhirnya, setelah melihat ke bawah sedikit, Anda akan melihat bahwa /etc/default/haproxy-file bersumber sesaat sebelum tes dilakukan, sehingga menimpa set-variabel dalam skrip init itu sendiri ...


0
2017-08-09 15:37





Berlari ke masalah yang sama pada azure dengan vm debian. Ternyata cukup sederhana. Skrip init dari haproxy menggunakan dependensi run-time. Pada pembaruan sistem lama-rc.d adalah cara untuk pergi, tetapi pada insserv sistem yang lebih baru digunakan: https://wiki.debian.org/LSBInitScripts/DependencyBasedBoot

Jadi jika Anda telah menggunakan pembaruan-rc.d untuk menambahkan layanan haproxy pada sistem yang lebih baru, Anda harus melakukan:

$ sudo update-rc.d -f haproxy hapus

$ sudo insserv haproxy


0
2018-05-04 19:06