AWS上DevOps实验(四)--- 使用Amazon EC2部署LNMP应用

本实验在上一节的基础上,在AWS上使用CentOS镜像部署LNMP应用,其中MySQL使用RDS。

本次实验架构图

本次实验架构图如下:

实验架构图

1. 实验准备

应用代码文件放在S3存储上,地址如下:https://garytemp.s3.ap-northeast-1.amazonaws.com/wordpress-6.1.1-zh_CN.zip

2. 部署JumpServer

更新软件

sudo apt update -y

安装必要软件

sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils -y

安装桌面程序

sudo apt install ubuntu-desktop -y

安装xrdp

sudo apt install xrdp -y

配置xrdp

sudo vi /etc/xrdp/xrdp.ini
#add 
exec startxfce4
##

重启xrdp

sudo systemctl restart xrdp

创建xrdp用户

groupadd garyadmin
useradd -m -g garyadmin gary
passwd gary
echo "%garyadmin ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/garyadmin

登录RDP

XRDP登录器

3. 部署APP

3.1 部署Nginx

登录APP虚拟机,切换到root模式

sudo su -

创建 nginx.repo 文件

cat > /etc/yum.repos.d/nginx.repo <<EOF
[nginx] 
name = nginx repo 
baseurl = https://nginx.org/packages/mainline/centos/7/\$basearch/ 
gpgcheck = 0 
enabled = 1
EOF

执行以下命令,安装nginx

yum install -y nginx

启动nginx

systemctl enable nginx
systemctl start nginx

验证nginx

验证nginx

3.2 部署PHP

依次执行以下命令,更新yum中PHP的软件源

rpm -Uvh https://mirrors.cloud.tencent.com/epel/epel-release-latest-7.noarch.rpm
yum -y install mod_php72w.x86_64 php72w-cli.x86_64 php72w-common.x86_64 php72w-mysqlnd php72w-fpm.x86_64

安装PHP 7.2

yum -y install mod_php72w.x86_64 php72w-cli.x86_64 php72w-common.x86_64 php72w-mysqlnd php72w-fpm.x86_64

启动PHP

systemctl start php-fpm
systemctl enable php-fpm
3.3 配置Ngnix支持PHP

创建PHP根目录

mkdir -p /data/www

修改/etc/nginx/conf.d/default.conf

更改如下内容

root         /data/www;
   location / {
        #root   /usr/share/nginx/html;
        index  index.php index.html index.htm;
    }

    location ~ \.php$ {
        root           www;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /data/www$fastcgi_script_name;
        include        fastcgi_params;
    }

重启PHP

systemctl restart nginx

创建php测试页面

cat > /data/www/index.php <<EOF
<?php
phpinfo();
?>
EOF

关闭SELinux

setenforce 0
sed -i 's/=enforcing/=disabled/g' /etc/selinux/config

验证PHP访问,在Jumpserver上。

验证php

4. 验证访问

编写访问数据库连接

vi /data/www/index.php
-------------------------------------------
<?php
$servername = "demo-mysql.ctkiu6095otx.ap-northeast-1.rds.amazonaws.com";
$username = "testuser";
$password = "12345678";
try {
    $conn = new PDO("mysql:host=$servername;port=3306", $username, $password);
echo "mysql数据库连接成功!!!<br>";
}
catch(PDOException $e)
{
    echo $e->getMessage();
}
?>
<?php
echo "mysqli方式连接mysql数据库:";
$a=mysqli_connect("$servername","$username","$password");
if($a){echo "数据库连接成功!!!";}else{echo "数据库连接失败!!!";}
?>
<?php
phpinfo();
?>

访问ALB:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YyUV3oVO-1681698333267)(null)]

这说明LNMP架构验证成功了,本实验结束。

本例参考以下2篇文章:

云服务器 手动搭建 LNMP 环境(CentOS 7)-最佳实践-文档中心-腾讯云

CentOS搭建LNMP_centos 搭建lnmp_feili12138的博客-CSDN博客

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值