apache 如何在启动Amazon EC2示例时自动启动Web服务?

euoag5mw  于 2022-11-25  发布在  Apache
关注(0)|答案(8)|浏览(169)

如何将httpdmysqld服务设置为在引导amazon-ec2示例时自动启动?
目前,我必须通过ssh连接到示例并运行sudo service httpd startsudo service mysqld start来手动启动它们。

krugob8w

krugob8w1#

您可以在AmazonLinuxEC2示例上执行以下命令,而不是重新开始一个新的AMI ...

sudo chkconfig mysqld on
sudo chkconfig httpd on

您可以在启用这些服务以在 Boot 时启动之前和之后使用以下命令检查设置...

sudo chkconfig --list mysqld
sudo chkconfig --list httpd

查看所有服务仅使用...

sudo chkconfig --list
  • 注意 如果chkconfig位于根目录路径中时遇到任何问题,可以尝试指定完整路径,如下所示...*
sudo /sbin/chkconfig mysqld on
sudo /sbin/chkconfig httpd on
jecbmhm3

jecbmhm32#

亚马逊Linux 1和亚马逊Linux 2是不同的。
亚马逊Linux 1
在AmazonLinux1中,使用chkconfig命令。

$ sudo chkconfig mysqld on
$ sudo chkconfig httpd on

亚马逊Linux2
在AmazonLinux2中,引入了systemd。因此,chkconfig是遗留命令。您应该使用systemctl。它是systemd的控制命令。

$ sudo systemctl enable mysqld
$ sudo systemctl enable httpd

您可以使用is-enabled命令确认是否启用。

$ sudo systemctl is-enabled mysqld
enabled

x1M4N1X命令请求将被转发到x1M5N1X。

$ chkconfig mysqld on
Note: Forwarding request to 'systemctl enable mysqld.service'.
3z6pesqy

3z6pesqy3#

如果您使用Amazon Linux 2 AMI,则需要执行以下步骤:
1.在AMI2中,他们使用systemctl来管理服务,检查您的计算机上是否安装了systemctl 2. systemctl list-units --type=service,通过此命令检查是否列出了tomcat.service

  1. sudo systemctl enable tomcat.service可在 Boot 时启动tomcat
  2. systemctl is-enabled tomcat.service检查tomcat是否已启用,以便在 Boot linux系统时启动
    之后,您可以重新启动您的linux系统和tomcat将启动。
    有关systemctlClick Here的更多信息
eivnm1vs

eivnm1vs4#

我的一个客户想做这个任务,我已经成功地通过使用以下方式完成。
以下命令将在示例启动时自动启动服务。

自动启动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
iqxoj9l9

iqxoj9l95#

我遇到了类似的问题,这里是我建议的解决方案,你需要在/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
9bfwbjaz

9bfwbjaz6#

亚马逊Linux 2上的ReactJS进程:在EC2上安装ReactJS并在 Boot 时运行应用程序:
1.连接到EC2示例后,安装NodeJS。请按照以下教程操作:https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/setting-up-node-on-ec2-instance.html
1.使用以下教程安装httpd服务器:https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Tutorials.WebServerDB.CreateWebServer.html
1.我使用Git Clone将ReactJS应用程序克隆到/home/ec2-user。
1.使用命令“npm install yarn -g”安装Yarn
1.在克隆的项目中执行以下命令:“Yarn”,然后“Yarn构建”
1.现在使用以下命令复制构建文件夹:请使用以下命令行代码:
1.现在转到/var/www/html/此处,使用vi创建一个.htaccess文件,并包含以下内容:“选项-重写时的多视图重写引擎%{REQUEST_FILENAME}!-f RewriteRule ^ index.html [QSA,L]”将文件保存为:wq
1.现在,在/etc/httpd/conf/httpd.conf中搜索具有“/var/www/html”属性的目录,并将“AllowOverride None”更改为“AllowOverride All”。现在,打开浏览器并输入http://ec2-ip或http://ec2-url,您将看到默认页面
1.在AmazonLinux 2上输入命令“systemctl enable httpd”,然后输入“systemctl start httpd”。现在你可以在 Boot 时访问应用程序,而不是一次又一次地运行应用程序。你就完成了。

yvgpqqbh

yvgpqqbh7#

在Amazon Linux 2上,最好的方法是在创建时使用下面的bash脚本。这将安装更新,启动Apache 2,将其列为服务,以便在重新启动时自动重新启动,并创建index.html和health.html示例文件。配置健康页面对于应用程序负载平衡器和自动伸缩组非常重要。

!/bin/bash

yum更新-y
yum安装httpd -y httpd-tools mod_ssl
服务httpd启动
检查配置httpd打开
systemctl启动httpd
systemctl启用httpd
echo“你好,世界,从亚马逊Linux上的Web服务器”〉/var/www/html/index. html
“健康”〉/var/www/html/health. html
干杯!干杯!

lqfhib0f

lqfhib0f8#

使用任何一个预先存在的LAMP AMI,这两个都将作为服务运行。
一个例子是BitNami,当你激发一个ec2示例时,你会发现其他几个例子。

相关问题