如何将httpd和mysqld服务设置为在启动amazon-ec2实例时自动启动?
目前,我必须通过ssh连接到实例并运行sudo service httpd start
和sudo service mysqld start
来手动启动它们。
答案 0 :(得分:75)
您可以在Amazon Linux EC2实例上发出以下命令,而不是重新开始使用新的AMI ......
sudo chkconfig mysqld on
sudo chkconfig httpd on
您可以在&之前检查设置。使用以下命令启用这些服务后启动...
sudo chkconfig --list mysqld
sudo chkconfig --list httpd
仅使用...查看所有服务。
sudo chkconfig --list
注意:如果您在chkconfig位于root的路径中遇到任何问题,可以尝试指定这样的完整路径......
sudo /sbin/chkconfig mysqld on
sudo /sbin/chkconfig httpd on
答案 1 :(得分:2)
如果您使用 Amazon Linux 2 AMI ,则需要执行以下步骤:
systemctl
来管理服务,以检查服务是否已安装在您的计算机上
2。systemctl list-units --type=service
通过此命令检查是否列出了tomcat.service sudo systemctl enable tomcat.service
要使雄猫能够在启动时启动systemctl is-enabled tomcat.service
检查是否启用了tomcat以便在启动Linux系统时启动之后,您可以重新启动linux系统,tomcat将启动。
有关systemctl
Click Here
答案 2 :(得分:1)
ReactJS on Amazon Linux2 进程: 在 EC2 上安装 ReactJS 并在启动时运行应用程序:
答案 3 :(得分:0)
我的一位客户想要执行此任务,并且我已经通过以下方法成功完成了
以下命令在实例启动时自动启动服务。
自动启动apache / httpd
1) systemctl enable httpd
自动启动Redis服务
2) systemctl enable redis
我已在以下位置将SELINUX设置为禁用
:3) /etc/sysconfig/selinux
对于mysql服务
sudo chkconfig mysqld on
sudo chkconfig httpd on
答案 4 :(得分:0)
我遇到了类似的问题,这是我建议的解决方案, 您需要在/etc/init.d目录下创建一个文件,例如,名称为tomcat,并根据系统安装更改JAVA_HOME和CATALINA_HOME参数。 设置完此文件后,请运行以下命令:
sudo chkconfig <file-name> on
您在/etc/init.d中创建的文件在哪里,在我的情况下是tomcat。
[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
答案 5 :(得分:0)
Amazon Linux 1和Amazon Linux 2不同。
在AmazonLinux1中,使用chkconfig
命令。
$ sudo chkconfig mysqld on
$ sudo chkconfig httpd on
在AmazonLinux2中,引入了systemd。因此,chkconfig
是旧命令。您应该使用systemctl
。这是systemd的控制命令。
$ sudo systemctl enable mysqld
$ sudo systemctl enable httpd
您可以通过is-enabled
命令确认是否启用了该功能。
$ sudo systemctl is-enabled mysqld
enabled
chkconfig
命令请求将转发到systemctl
。
$ chkconfig mysqld on
Note: Forwarding request to 'systemctl enable mysqld.service'.
答案 6 :(得分:-3)
要么使用任何已有的LAMP AMI,它们都将作为服务运行。
一个示例是BitNami,当您触发ec2实例时,您会发现其他几个。