在 EC2 实例上安装 Web 服务器

您所在的位置:网站首页 启动web注册页,按照说明连接到服务器 在 EC2 实例上安装 Web 服务器

在 EC2 实例上安装 Web 服务器

2024-07-07 08:31| 来源: 网络整理| 查看: 265

在 EC2 实例上安装 Web 服务器

在您在启动 EC2 实例中创建的 EC2 实例上安装 Web 服务器。Web 服务器连接到您在创建 Amazon RDS 数据库实例中创建的 Amazon RDS 数据库实例。

使用 PHP 和 MariaDB 安装 Apache Web 服务器

连接到 EC2 实例并安装 Web 服务器。

连接到 EC2 实例并安装带有 PHP 的 Apache Web 服务器

按照《适用于 Linux 实例的 Amazon EC2 用户指南》的连接到您的 Linux 实例中的步骤,连接到您之前创建的 EC2 实例。

我们建议您使用 SSH 连接到 EC2 实例。如果 SSH 客户端实用程序安装在 Windows、Linux 或 Mac 上,则可以使用以下命令格式连接到该实例:

ssh -i location_of_pem_file ec2-user@ec2-instance-public-dns-name

例如,假设在 Linux 上 ec2-database-connect-key-pair.pem 存储在 /dir1 中,而 EC2 实例的公有 IPv4 DNS 为 ec2-12-345-678-90.compute-1.amazonaws.com。SSH 命令将如下所示:

ssh -i /dir1/ec2-database-connect-key-pair.pem [email protected]

通过更新 EC2 实例上的软件,获取最新的错误修复和安全更新。要执行此操作,请使用以下命令。

注意

-y 选项安装更新时不提示确认。要在安装前检查更新,请忽略该选项。

sudo dnf update -y

更新完成后,使用以下命令安装 Apache Web 服务器、PHP 和 MariaDB 或 PostgreSQL 软件。此命令同时安装多个软件包和相关依赖项。

MariaDB & MySQL sudo dnf install -y httpd php php-mysqli mariadb105 PostgreSQL sudo dnf install -y httpd php php-pgsql postgresql15

如果您收到错误,则您的实例可能不是使用 Amazon Linux 2023 AMI 启动的。您可能使用的是 Amazon Linux 2 AMI。您可以使用以下命令查看 Amazon Linux 的版本。

cat /etc/system-release

有关更多信息,请参阅更新实例软件。

使用下面所示的命令启动 Web 服务器。

sudo systemctl start httpd

您可以测试 Web 服务器是否已正确安装和启动。为此,请在 Web 浏览器的地址栏中输入 EC2 实例的公有域名系统 (DNS) 名称,例如:http://ec2-42-8-168-21.us-west-1.compute.amazonaws.com。如果 Web 服务器正在运行,您将看到 Apache 测试页面。

如果您没有看到 Apache 测试页面,请检查您在教程:创建 VPC 以用于数据库实例(仅限 IPv4)中创建的 VPC 安全组的入站规则。确保入站规则包括一条允许 HTTP(端口 80)访问 IP 地址以连接到 Web 服务器的规则。

注意

Apache 测试页面仅在文档根目录 /var/www/html 中无内容时才显示。将内容添加到文档根目录后,您的内容将显示在 EC2 实例的公有 DNS 地址处。在此之前,它出现在 Apache 测试页面上。

使用 systemctl 命令配置 Web 服务器以使其在每次系统启动时启动。

sudo systemctl enable httpd

要允许 ec2-user 在 Apache Web 服务器的默认根目录中管理文件,请修改 /var/www 目录的所有权和权限。有多种方式可以完成此任务。在本教程中,可将 ec2-user 添加到 apache 组,将 apache 目录的所有权授予 /var/www 组,并为该组指定写入权限。

设置 Apache Web 服务器的文件权限

将 ec2-user 用户添加到 apache 组。

sudo usermod -a -G apache ec2-user

注销以刷新您的权限并包含新的 apache 组。

exit

再重新登录并使用 apache 命令验证 groups 组是否存在。

groups

输出看上去类似于以下内容:

ec2-user adm wheel apache systemd-journal

将 /var/www 目录的组所有权及其内容更改到 apache 组。

sudo chown -R ec2-user:apache /var/www

更改 /var/www 及其子目录的目录权限,以添加组写入权限并设置未来创建的子目录上的组 ID。

sudo chmod 2775 /var/www find /var/www -type d -exec sudo chmod 2775 {} \;

递归地更改 /var/www 目录及其子目录中的文件的权限,以添加组写入权限。

find /var/www -type f -exec sudo chmod 0664 {} \;

现在,ec2-user(和 apache 组的任何将来成员)可以添加、删除和编辑 Apache 文档根目录中的文件。这使您可以添加内容,例如静态网站或 PHP 应用程序。

注意

运行 HTTP 协议的 Web 服务器不为其发送或接收的数据提供传输安全。当您使用 Web 浏览器连接 HTTP 服务器时,窃取者可在沿网络路径的任何位置看到许多信息。这些信息包括您访问的 URL、您接收的网页内容以及任何 HTML 表单的内容(包括密码)。

保护您的 Web 服务器的最佳实践是安装对于 HTTPS(HTTP Secure)的支持。此协议利用 SSL/TLS 加密保护您的数据。有关更多信息,请参阅在Amazon EC2用户指南中的教程:使用 Amazon Linux AMI 配置 SSL/TLS。

将您的 Apache Web 服务器连接到数据库实例

接着,将内容添加到连接到 Amazon RDS 数据库实例的 Apache Web 服务器。

将内容添加到连接到数据库实例的 Apache Web 服务器

在仍连接到 EC2 实例时,将目录更改到 /var/www 并创建名为 inc 的新子目录。

cd /var/www mkdir inc cd inc

在名为 inc 的 dbinfo.inc 目录中新建文件,然后通过调用 nano(或您选择的编辑器)编辑文件。

>dbinfo.inc nano dbinfo.inc

将以下内容添加到 dbinfo.inc 文件。在这里,db_instance_endpoint 是数据库集群的不带端口的数据库集群写入器端点。

注意

我们建议将用户名和密码信息放在不属于 Web 服务器的文档根目录的文件夹中。这样做会减少您的安全信息被泄露的可能性。

确保在应用程序中将 master password 更改为合适的密码。

保存并关闭 dbinfo.inc 文件。如果您使用的是 nano,请使用 Ctrl+S 和 Ctrl+X 保存并关闭文件。

将目录更改为 /var/www/html。

cd /var/www/html

在名为 html 的 SamplePage.php 目录中新建文件,然后通过调用 nano(或您选择的编辑器)编辑文件。

>SamplePage.php nano SamplePage.php

将以下内容添加到 SamplePage.php 文件:

MariaDB & MySQL Sample page


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3