web-dev-qa-db-fra.com

Comment démarrer automatiquement les services Web lors du démarrage d'une instance Amazon EC2?

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.

46
user655334

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
87
QuasarDJ

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
2
Mayank Dudakiya

C'est différent entre Amazon Linux 1 et Amazon Linux 2.

Amazon Linux 1

Dans AmazonLinux1, utilisez la commande chkconfig.

$ Sudo chkconfig mysqld on
$ Sudo chkconfig httpd on

Amazon Linux2

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'.
1
YoshinoriN

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
0
Jagdish0886