AWS之EC2实例搭建LAMP服务器
在 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服务器的更多相关文章
- AWS的EC2实例搭建服务器使用stackoverflow教程
作为一个技术开发工程师, 一个给力的问题解决方案搜索引擎是十分必要的, stackoverflow作为一个码农必备神器, 存在访问不稳定,有时候打不开的问题,下面介绍如何在亚马逊云服务器上搭建属于自己 ...
- Ubuntu 搭建 LAMP 服务器
/******************************************************************** * Ubuntu 搭建 LAMP 服务器 * 说明: * 想 ...
- Centos搭建 LAMP 服务器教程
搭建 LAMP 服务 搭建 MySQL 数据库 安装 MySQL 使用 yum 安装 MySQL: yum install mysql-server -y 安装完成后,启动 MySQL 服务: ser ...
- 编译搭建Lamp服务器
Lamp 是目前倍受欢迎的一种网站服务器.其主要有linux+apache+mysql+php 组成.由于其组成成员都是开源免费的产品,所以被作为中小型网站服务器的选择.LZ之前在学校学linux的时 ...
- aws申请ec2实例后如何用root用户登录
ec2默认禁用root用户登录,我们创建ec2实例后如何知道使用什么用户登录,有两种方法? 方法一:根据我们选择的镜像来判断用什么用户登录:镜像:centos 用户centos镜像:aws 用户:ec ...
- AWS扩容EC2实例根空间
文章原文 aws 端操作 先在EC2 实例中选中磁盘 然后打开跟设备 修改大小后保存 ec2 端操作 lsblk 查看当前设备的磁盘编号 df -T -H 查看扩容前的空间大小并确定磁盘格式 grow ...
- 关于aws的ec2实例导出成ova后在vmware中的网络配置不生效的问题
在aws上的ec2实例,尤其是使用了aws市场中的ami创建的linux系统,默认情况下,网络配置都是通过dhcp自动获取的, 这周笔者将一台ec2实例(redhat/linux 8.3)导出/转换成 ...
- AWS系列-EC2实例添加磁盘
注意:添加的磁盘,必须和挂载的实例是在同一可用区. 1.1 如下图,打开EC2控制台,打开卷,点击创建卷 1.2 选择磁盘配置 磁盘类型:如下图 磁盘大小:如图,最小500G,最大16T 可用区:注意 ...
- Centos7.2 搭建Lamp服务器以及迁移WordPress个人博客详细过程
其实自己的博客搭了有段时间了,但是由于自己不太确定是不是一定要用wd的框架,以及实验室公网服务器的不稳定,就一直荒废着. 今天偶然间看到了腾讯云对于学生的优惠活动,毕业之前每月只要8元的云服务器(就算 ...
随机推荐
- 往对象数组里面添加相同的key 不同的value 和删除相同的key值
应用场景:后盾字段没有发给你 自己补充数据 <div v-for="item in list" :key="item.id"> <p> ...
- 2.Python爬虫入门_requests
#2019-11-23 #requests的api使用非常简单 import requests import time if __name__=='__main__': # get请求 url_get ...
- HTTP 与HTTPS 简单理解
HTTP协议,即超文本传输协议(Hypertext transfer protocol).是一种详细规定了浏览器和万维网(WWW = World Wide Web)服务器之间互相通信的规则,通过因 ...
- 剑指Offer-26.二叉搜索树与双向链表(C++/Java)
题目: 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表.要求不能创建任何新的结点,只能调整树中结点指针的指向. 分析: 创建两个指针,分别指向要处理的当前元素和当前元素的前一个元素.利用中 ...
- CSP2019-S1 游记
估分 83 分qwq 上午照常起床,先跑去学校考了一场化学(黑人问号),然后8:30从学校开溜. 8:50到考点,发现淮安S组只有两个考场... 在考点外遇到一群 金湖中学 的. 不怕了,有水军帮忙垫 ...
- 探索clickout指令实现
实现一个可复用的点击区域之外方法 随着3大框架的风靡,我们从以前的layer等UI库迁移到了更加强大的UI库,比如vue的好伙伴element,组件库的作用是封装一些常用的功能,将HTML.CSS.J ...
- Paper | Quality assessment of deblocked images
目录 1. 故事 2. 失真变化 3. 方法(PSNR-B) 4. 实验 这篇文章提出了一个PSNR-B指标,旨在衡量 压缩图像的块效应强度 或 去块效应后的残留块效应强度(比较去块效应算法的优劣). ...
- Pytorch数据类型转换
Pytorch数据类型转换 载入模块生成数据 import torch import numpy as np a_numpy = np.array([1,2,3]) Numpy转换为Tensor a_ ...
- gradle 多模块Springboot项目 compile project引用其他模块的坑
本来以为子项目中compile project(':xxx'),就能引用其他模块了,因为之后idea也没在引用时候标红 然而我gradle build的时候,居然各种找不到引用模块的类 最后在stac ...
- Loj #2719. 「NOI2018」冒泡排序
Loj #2719. 「NOI2018」冒泡排序 题目描述 最近,小 S 对冒泡排序产生了浓厚的兴趣.为了问题简单,小 S 只研究对 *\(1\) 到 \(n\) 的排列*的冒泡排序. 下面是对冒泡排 ...