Comment configurer les services httpd et mysqld pour démarrer automatiquement au démarrage d'une instance Amazon-ec2 ?
Actuellement, je dois les démarrer manuellement en me connectant à l'instance via ssh et en exécutant Sudo service httpd start
et Sudo service mysqld start
.
Plutôt que de recommencer avec une nouvelle AMI, vous pouvez simplement émettre les commandes suivantes sur une instance Amazon Linux EC2 ...
Sudo chkconfig mysqld on
Sudo chkconfig httpd on
Vous pouvez vérifier les paramètres avant et après l'activation de ces services pour démarrer au démarrage en utilisant les commandes suivantes ...
Sudo chkconfig --list mysqld
Sudo chkconfig --list httpd
Voir tous les services en utilisant juste ...
Sudo chkconfig --list
NOTE : Si vous rencontrez des problèmes avec chkconfig dans le chemin de root, vous pouvez essayer de spécifier le chemin complet comme ceci ... =
Sudo /sbin/chkconfig mysqld on
Sudo /sbin/chkconfig httpd on
Un de mes clients veut faire cette tâche et j'ai réussi en utilisant la méthode suivante.
Les commandes suivantes lancent les services automatiquement au démarrage de l'instance.
Démarrage automatique Apache/httpd
1) systemctl enable httpd
Démarrage automatique du service redis
2) systemctl enable redis
J'ai réglé SELINUX sur désactivé dans
3) /etc/sysconfig/selinux
Pour les services mysql
Sudo chkconfig mysqld on
Sudo chkconfig httpd on
C'est différent entre Amazon Linux 1 et Amazon Linux 2.
Dans AmazonLinux1, utilisez la commande chkconfig
.
$ Sudo chkconfig mysqld on
$ Sudo chkconfig httpd on
Dans AmazonLinux2, systemd a été introduit. Ainsi, chkconfig
est une commande héritée. Vous devez utiliser systemctl
. Il s'agit d'une commande de contrôle pour systemd.
$ Sudo systemctl enable mysqld
$ Sudo systemctl enable httpd
Vous pouvez confirmer qu'il est activé ou non utilisé par is-enabled
commande.
$ Sudo systemctl is-enabled mysqld
enabled
chkconfig
la demande de commande sera transmise à systemctl
.
$ chkconfig mysqld on
Note: Forwarding request to 'systemctl enable mysqld.service'.
J'ai rencontré le même problème, voici la solution que je suggère, vous devez créer un fichier sous le répertoire /etc/init.d, par exemple avec le nom Tomcat, et changer les paramètres Java_HOME et CATALINA_HOME selon l'installation de votre système. Une fois que vous avez configuré ce fichier, exécutez la commande ci-dessous:
Sudo chkconfig <file-name> on
où est le fichier que vous avez créé dans /etc/init.d c'est Tomcat dans mon cas.
[ec2-user@ip-<myip> init.d]$ cat Tomcat
#!/bin/bash
# description: Tomcat Start Stop Restart
# processname: Tomcat
# chkconfig: 234 20 80
Java_HOME=/opt/Apache-Tomcat-7.0.96
export $Java_HOME
PATH=$Java_HOME/bin:$PATH
export PATH
CATALINA_HOME=/opt/Apache-Tomcat-7.0.96
case $1 in
start)
sh $CATALINA_HOME/bin/startup.sh
;;
stop)
sh $CATALINA_HOME/bin/shutdown.sh
;;
restart)
sh $CATALINA_HOME/bin/shutdown.sh
sh $CATALINA_HOME/bin/startup.sh
;;
esac
exit 0
chmod 755 Tomcat
chkconfig --add Tomcat
chkconfig --level 234 Tomcat on
chkconfig --list Tomcat
service Tomcat start