在 Amazon Linux 2 上安装 LAMP Web 服务器

创建EC2实例,在安全组添加HTTP(80)规则

步骤 1:准备 LAMP 服务器

1、使用putty连接到你的EC2实例上(AMI 为 Amazon Linux2)

2、检查系统更新:

[ec2-user ~]$ sudo yum update -y

3、安装 lamp-mariadb10.2-php7.2 和 php7.2 Amazon LinuxExtras 存储库:

[ec2-user ~]$ sudo amazon-linux-extras install -y lamp-mariadb10.2-php7.2 php7.2

4、安装 Apache Web 服务器、MariaDB 和 PHP 软件包:

[ec2-user ~]$  sudo yum install -y httpd mariadb-server

5、开启httpd服务

[ec2-user ~]$ sudo systemctl start httpd

6、设置apache http服务开机启动:

[ec2-user ~]$ sudo systemctl enable httpd

7、查看http服务状态:

[ec2-user ~]$ sudo systemctl status httpd

8、验证:

在浏览器中键入EC2实例的IP地址

出现如下界面,即启动http服务成功:

9、修改Apache服务的权限:(root用户可跳过)

Amazon Linux Apache 文档根目录为 /var/www/html,默认情况下归根用户所有。

①设置文件权限,将ec2-user添加到apache中:

[ec2-user ~]$ sudo usermod -a -G apache ec2-user

②退出并重新登陆,再验证成员资格:

[ec2-user ~]$ exit

③重新连接实例,运行以下命令:

[ec2-user ~]$ groups

以下为反馈内容:

ec2-user adm wheel apache systemd-journal

④将 /var/www 及其内容的组所有权更改到 apache 组:

[ec2-user ~]$ sudo chown -R ec2-user:apache /var/www

⑤要添加组写入权限以及设置未来子目录上的组 ID,更改 /var/www 及其子目录的目录权限:

[ec2-user ~]$ sudo chmod 2775 /var/www && find /var/www -type d -exec sudo chmod 2775 {} \;

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

[ec2-user ~]$ find /var/www -type f -exec sudo chmod 0664 {} \;

以上操作适用于EC2-user,ec2-user (和 apache 组的任何未来成员) 可以添加、删除和编辑 Apache 文档根目录中的文件,允许您添加内容,如静态网站或 PHP 应用程序。

(root用户可跳过以上步骤)

步骤 2:测试 LAMP 服务器

1、在 Apache 文档根目录中创建一个 PHP 文件。

[ec2-user ~]$ echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php

2、在浏览器中键入ec2的IP地址进行验证:

http://ip-adress/phpinfo.php

你会看到如下信息:

3、删除 phpinfo.php 文件:

[ec2-user ~]$ rm /var/www/html/phpinfo.php

步骤 3:确保数据库服务器的安全

1、启动 MariaDB 服务器:

[ec2-user ~]$ sudo systemctl start mariadb

2、运行MariaDB初始化向导:

[ec2-user ~]$ sudo mysql_secure_installation

A、键入当前根密码。默认情况下,根账户没有设置密码。按 Enter。

B、键入 Y 设置密码,然后键入两次安全密码。

C、键入 Y 删除匿名用户账户。

D、键入 Y 禁用远程根登录。

E、键入 Y 删除测试数据库。

F、键入 Y 重新加载权限表并保存您的更改。

步骤 4:(可选) 安装 phpMyAdmin

安装PHP:

1、安装PHP依赖服务:

[ec2-user ~]$ sudo yum install php-mbstring -y

2、重启apache 服务:

[ec2-user ~]$ sudo systemctl restart httpd

3、重启PHP-FPM服务:

[ec2-user ~]$ sudo systemctl restart php-fpm

4、进入/var/www/html 的 Apache 文档根:

[ec2-user ~]$ cd /var/www/html

5、从 https://www.phpmyadmin.net/downloads 选择最新 phpMyAdmin 发行版的源软件包:

[ec2-user html]$ wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz

请根据实际情况修改下载链接;

6、创建 phpMyAdmin 文件夹并将程序包提取到其中:

[ec2-user html]$ mkdir phpMyAdmin && tar -xvzf phpMyAdmin-latest-all-languages.tar.gz -C phpMyAdmin --strip-components 1

根据实际情况修改包名

7、删除 phpMyAdmin-latest-all-languages.tar.gz ##请根据实际情况修改包名

[ec2-user html]$ rm phpMyAdmin-latest-all-languages.tar.gz

8、在浏览器中键入EC2实例的IP地址进行验证:

http://ip-adress/phpMyAdmin



9、使用您先前创建的 root 用户名和 MySQL 根密码登录到 phpMyAdmin 安装

AWS之EC2实例搭建LAMP服务器的更多相关文章

  1. AWS的EC2实例搭建服务器使用stackoverflow教程

    作为一个技术开发工程师, 一个给力的问题解决方案搜索引擎是十分必要的, stackoverflow作为一个码农必备神器, 存在访问不稳定,有时候打不开的问题,下面介绍如何在亚马逊云服务器上搭建属于自己 ...

  2. Ubuntu 搭建 LAMP 服务器

    /******************************************************************** * Ubuntu 搭建 LAMP 服务器 * 说明: * 想 ...

  3. Centos搭建 LAMP 服务器教程

    搭建 LAMP 服务 搭建 MySQL 数据库 安装 MySQL 使用 yum 安装 MySQL: yum install mysql-server -y 安装完成后,启动 MySQL 服务: ser ...

  4. 编译搭建Lamp服务器

    Lamp 是目前倍受欢迎的一种网站服务器.其主要有linux+apache+mysql+php 组成.由于其组成成员都是开源免费的产品,所以被作为中小型网站服务器的选择.LZ之前在学校学linux的时 ...

  5. aws申请ec2实例后如何用root用户登录

    ec2默认禁用root用户登录,我们创建ec2实例后如何知道使用什么用户登录,有两种方法? 方法一:根据我们选择的镜像来判断用什么用户登录:镜像:centos 用户centos镜像:aws 用户:ec ...

  6. AWS扩容EC2实例根空间

    文章原文 aws 端操作 先在EC2 实例中选中磁盘 然后打开跟设备 修改大小后保存 ec2 端操作 lsblk 查看当前设备的磁盘编号 df -T -H 查看扩容前的空间大小并确定磁盘格式 grow ...

  7. 关于aws的ec2实例导出成ova后在vmware中的网络配置不生效的问题

    在aws上的ec2实例,尤其是使用了aws市场中的ami创建的linux系统,默认情况下,网络配置都是通过dhcp自动获取的, 这周笔者将一台ec2实例(redhat/linux 8.3)导出/转换成 ...

  8. AWS系列-EC2实例添加磁盘

    注意:添加的磁盘,必须和挂载的实例是在同一可用区. 1.1 如下图,打开EC2控制台,打开卷,点击创建卷 1.2 选择磁盘配置 磁盘类型:如下图 磁盘大小:如图,最小500G,最大16T 可用区:注意 ...

  9. Centos7.2 搭建Lamp服务器以及迁移WordPress个人博客详细过程

    其实自己的博客搭了有段时间了,但是由于自己不太确定是不是一定要用wd的框架,以及实验室公网服务器的不稳定,就一直荒废着. 今天偶然间看到了腾讯云对于学生的优惠活动,毕业之前每月只要8元的云服务器(就算 ...

随机推荐

  1. layui增删改查

    dao方法 package com.dao; import java.sql.SQLException; import java.util.List; import java.util.Map; im ...

  2. 设置了相对定位relative之后,改变top值,如何去掉多余空白?

    众所周知,relative和absolute有一个区别在于relative是相对自身定位,而absolute是相对于最近的定位父级定位,而此时的相对定位经过top值改变其在文档流中的位置之后,自身本来 ...

  3. 人工智能+Python:十大Markdown语法简明教程

    Markdown 是一种轻量级的标记语言,用户可以使用诸如 * # 等简单的标记符号以最小的输入代价生成极富表现力的文档,目前也被越来越多的写作爱好者,撰稿者广泛使用.本文希望用直观的方法来讲述Mar ...

  4. c# 第35节 类的多态

    本节内容: 1:多态前戏 2:解决多态的知识点 3:多态两个实例 1:多态前戏 多态源自生活中的现象: 阿拉甲,阿拉乙,阿拉丙,阿拉丁,是人这个类产生的四个对象: 他们的父亲说:世界上女的都是女老虎, ...

  5. SpringBoot 全局异常配置

    在日常web开发中发生了异常,往往是需要通过一个统一的异常处理来保证客户端能够收到友好的提示. 一.默认异常机制 默认异常处理(SpringBoot 默认提供了两种机制,一种是针对于web浏览器访问的 ...

  6. CF707D Persistent Bookcase

    CF707D Persistent Bookcase 洛谷评测传送门 题目描述 Recently in school Alina has learned what are the persistent ...

  7. 封装cookie的设置和获取

    cookie的设置 function setCookie(key,value,options){ options=options||{}; var time=""; if(opti ...

  8. 第四组 团队Git现场编程实战

    组员职责分工 组员 分工 林涛(组长) 分配任务.整理数据.写博客 童圣滔 UI界面制作 林红莲 UI界面制作 潘雨佳 测评出福州最受欢迎的商圈 于瀚翔 测评出福州最受欢迎的商圈 覃鸿浩 测评出福州人 ...

  9. 学习linux开发需要的基础

    1.常见的通信协议I2C和SPI,熟悉. 还有时钟. 中断等概念也都了解了. 所以你现在应该先学一下Linux常用的一些命令,网上搜一下,有很多总结的文章,大概看一下用法,想深入学习的话,可以看鸟哥的 ...

  10. VS2019 远程调试

    碰到一个问题,在本机调试没有任何问题,部署到测试环境的CentOS 7 上,抛出异常.为解决这个问题,使用远程调试. 第一步,设置远程链接 第二步,Debug--Attach  to Process ...