Installation d'un nouveau serveur Ubuntu 10.04 et connexion en tant que root J'ai installé haproxy en utilisant apt-get.
Je peux exécuter haproxy directement en tant que démon mais quand je ne fais /etc/init.d/haproxy start
rien, il ne se passe même pas un message d'erreur.
netstat -a
montre que rien n'utilise le port http que j'essaie d'équilibrer avec haproxy ...
Des idées?
modifier
J'ai remarqué que
apt-get install haproxy
cela dit à la fin:update-rc.d: avertissement: /etc/init.d/haproxy informations LSB manquantes update-rc.d: voir http://wiki.debian.org/LSBInitScripts
/etc/default/haproxy
ditENABLED=1
Sortie de débogage pour 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:~#
Réponses:
Modifiez
/etc/default/haproxy
et assurez-vous qu'il a une ligne qui ditENABLED=1
en elle.La valeur par défaut est ENABLED = 0. Cela est dû au fait que haproxy n'a pas de configuration par défaut saine, vous devez donc d'abord le configurer, puis l'activer.
la source
J'ai eu le même problème, où le réglage ENABLED n'avait aucun effet car la ligne "test" échouait toujours. Trouvé la raison: vous devez éditer
/etc/default/haproxy
au lieu du script init.la source
Je sais que c'est un fil d'un an .. mais j'essaie juste de partager ce que j'ai appris ..
utilisez
/etc/init.d/haproxy reload
ouservice haproxy reload
et il se rechargera bien .. après tout, nous voulons juste qu'il démarre bien;)la source
J'ai le même problème. J'ai déjà défini ENABLED = 1, mais la configuration par défaut de update-rc.d semble être de mettre l'haproxy en K20 (rc0 | 1 | 6.d) et en S20 (rc2 | 3 | 4 | 5.d). Ce qui signifie qu'il va essayer de démarrer avant la mise en réseau, donc dans mon cas, j'obtiens ceci dans boot.log: -
changer le numéro de démarrage en 35 semble le corriger, mais je pense que 36 serait plus sûr (l'ancien numéro pour la mise en réseau était 35, alors faites-le mieux commencer après cela). Alors essayez: -
Redémarrez ensuite, et il devrait le trier. Les responsables de paquets auraient vraiment dû y penser.
la source
J'ai rencontré ce même problème après avoir d'abord installé le package maintenu ubuntu, puis (après avoir réalisé que la version ne supportait pas la fonctionnalité dont j'avais besoin), installer une version ppa plus récente de haproxy. Le script init.d avec lequel je me suis retrouvé indiquait / usr / sbin / haproxy alors qu'en fait mon exécutable se trouvait dans / usr / local / sbin / haproxy. la sortie de débogage "sh -xv /etc/init.d/haproxy start" mentionnée précédemment a rendu ce problème assez évident.
la source
Avez-vous essayé de le démarrer en tant que root, ou avec sudo? Si vous êtes comme moi, vous oubliez parfois d'ajouter sudo au début des commandes. J'ai essayé toutes vos commandes sans sudo, et elles ont échoué comme vous l'avez décrit. Cependant, avec sudo devant eux, en utilisant un
haproxy.cfg
fichier par défaut de l'installation, il fonctionne maintenant sans problème. Je pensais juste que je soulignerais que même avec les bonnes configurations, pour moi cela ne se fera pas sans sudo.la source
Je viens de rencontrer le même problème avec le script haproxy init.d sur lucid. Je ne pouvais tout simplement pas lancer haproxy, alors je l'ai recherché et j'ai trouvé que vous deviez changer la variable ENABLED dans le script /etc/init.d/haproxy.
Changer cette variable n'a cependant PAS aidé du tout et c'est pourquoi: Quelques lignes plus bas dans /etc/init.d/haproxy la variable ENABLED est vérifiée par le script avec la ligne suivante: test "$ ENABLED"! = "0" || exit 0. J'ai remarqué que ce test échouait TOUJOURS sur mon système, quelle que soit la valeur de ENABLED. Ainsi, le reste du script n'est jamais exécuté.
Je dois admettre que je ne sais pas vraiment pourquoi cette ligne de test ne fonctionne pas correctement. Mais comme nous voulons que le haproxy soit activé de toute façon, pourquoi prendre la peine de vérifier? ... Commenter cette ligne de test l'a fait fonctionner pour moi.
J'espère que cela aide n'importe qui.
la source
J'ai également continué à regarder le scipt, je ne voyais pas pourquoi cela ne fonctionnait pas malgré la
ENABLED=1
définition dans le script d'initialisation.Finalement, après avoir regardé un peu vers le bas, vous verrez que le
/etc/default/haproxy-file
est originaire juste avant que le test soit effectué, écrasant ainsi la variable set dans le script init lui-même ...la source
Ran dans le même problème sur azur avec un debian vm. Se révèle être assez simple. Le script init de haproxy utilise des dépendances au moment de l'exécution. Sur l'ancien système, update-rc.d était la voie à suivre, mais sur le système plus récent, l'insserv est utilisé: https://wiki.debian.org/LSBInitScripts/DependencyBasedBoot
Donc, si vous avez utilisé update-rc.d pour ajouter le service haproxy sur les systèmes plus récents, vous devez faire:
$ sudo update-rc.d -f haproxy supprimer
$ sudo insserv haproxy
la source