(三)Amazon Lightsail 部署LAMP应用程序之连接到Lightsail数据库
连接到Lightsail数据库
简介:应用程序的Web前端的第一次迭代不建议固有的可伸缩性,因为数据库和前端位于同一台机器,只需要额外的前端容量,添加额外的数据库实例就会出现问题,若想解决此问题,需要分离前端和数据库,在此步骤中,您将调整PHP前端的配置,使其指向先前部署的Lightsail数据库。

1、进入Lightsail控制台主页:
https://lightsail.aws.amazon.com/ls/webapp/home/
单击 “数据库”
2、单击 todo-db (注意:这是之前创建的Lightsail数据库名)
3、在 “连接详细信息”下,将“EndPoint(端点)”复制到文本编辑器.
示例:
该Endpoint类似于ls-996d5vf212312123f1ds1fsd23fs2d1s2d31fs23d1f32s1f23ds.cucxkvhp11zu.us-west-2.rds.amazonaws.com
4、在SSH窗口中,创建一个名为(LS_ENDPOINT)的环境变量,以通过以下方式保存数据库端点的值:
①粘贴:LS_ENDPOINT=’MYENDPOINT’
注意,此处的MYENDPOINT请替换为刚刚的数据库端点,按ENDER键生效
示例:

5、为默认用户名创建环境变量(dbmasteruser),和您之前创建的密码(taskstasks);
LS_username=dbmasteruser && LS_PASSWORD=taskstasks
6、验证是否成功并正确的设置了环境变量:
echo "Endpoint = "$LS_ENDPOINT && echo "username = "$LS_username && echo "Password = "$LS_PASSWORD
7、创建一个指向Lightsail数据库的新配置文件:
**
cat /opt/bitnami/apache2/configs/config.php.bak | \
sed "s/<endpoint>/$LS_ENDPOINT/; \
s/<username>/$LS_username/; \
s/<password>/$LS_PASSWORD/;" \
>> /opt/bitnami/apache2/configs/config.php.lightsail_db
**
8、验证文件是否已正确修改:
cat /opt/bitnami/apache2/configs/config.php.lightsail_db
9、激活新配置:
cp /opt/bitnami/apache2/configs/config.php.lightsail_db /opt/bitnami/apache2/configs/config.php
10、验证是否已修改活动配置文件:
cat /opt/bitnami/apache2/configs/config.php
11、在新浏览器选项卡中,运行install.php脚本以通过以下方式配置数据库:
在浏览器中输入:
http://PUBLIC-IP/install.php
将PUBLIC-IP替换为Lightsail实例的公有IP地址
再次刷新网页,因为前端现在指向新数据库;
12、在浏览器中,通过以下方式测试新数据库:
在浏览器中输入:
http://PUBLIC-IP
将PUBLIC-IP替换为您Lightsail中实例的公有IP地址
因为您已将前端指向新数据库引擎,所有不应该显示任何任务。
13、接下来您将从本地的MySQL数据库迁移到由Lightsail甘丽的数据库中,这是通过使用2个命令行实用程序来完成的:mysqldump和mysql。下面的命令使用mysqldump从本地数据中提取内容,然后将其作为输入传递给mysql使用程序命令,该命令将输入加载到由Lightsail管理的数据库中。
在SSH窗口中,输入:
**
mysqldump -u root \
--databases tasks \
--single-transaction \
--compress \
--order-by-primary \
-p$(cat /home/bitnami/bitnami_application_password) \
| mysql -u $LS_username \
--port=3306 \
--host=$LS_ENDPOINT \
-p$LS_PASSWORD
**
在执行完此命令后,您将看到2条警告信息,请您忽略这2条警告
请注意,在真实的生产环境中,您不应该通过命令行提供密码,尤其是在脚本中。
14、再次刷新网页,您应该可以看到最初创建的任务现在存在于由Lightsail管理的数据库中。
(三)Amazon Lightsail 部署LAMP应用程序之连接到Lightsail数据库的更多相关文章
- (导航页)Amazon Lightsail 部署LAMP应用程序(HA)
Amazon Lightsail 简介: Amazon Lightsail是一个具有易于使用的界面,具有成本效益,快速和可靠的云平台.它是更简单的工作负载,快速部署以及Amazon Web Servi ...
- (二)Amazon Lightsail 部署LAMP应用程序之部署单片LAMP应用程序
部署单片LAMP应用程序 简介:通过复制应用程序代码并提供链接PHP前端和本地MySQL数据库的参数,将LAMP对战应用程序部署到先前启动的Lightsail实例中.完成后,Apache/PHP前端和 ...
- Amazon Lightsail部署LAMP应用程序之部署实验室基础架构
一.在Lightsail中创建LAMP堆栈实例 1.在AWS管理控制台的"服务"下拉选项中单击"Lightsail". 2.在语言方面选择 "英语&q ...
- (五)Amazon Lightsail 部署LAMP应用程序之迁移到Amazon RDS实例
迁移到您的Amazon RDS实例 在某些时候,您的应用程序需求可能需要在 Amazon Lightsail中找不到的功能.幸运的是,将应用程序的一个或所有部分移动到其他AWS服务中非常简单 您将数据 ...
- (四)Amazon Lightsail 部署LAMP应用程序之扩展PHP前端
扩展PHP前端 既然PHP前端和数据库是分开的,您将为Web层添加可伸缩性和容错性: 在以下步骤,您将获取Web前端实例的快照,并从该快照部署另外2个Web层实例.最终,您将在三个Web实例前面添加一 ...
- (六)Amazon Lightsail 部署LAMP应用程序之升级到Amazon EC2
升级到Amazon EC2 将Amazon Lightsail实例升级为Amazon EC2 您将进行以下操作: ①创建使用 Amazon RDS的Web前端实例的快照 ②将该快照导出到 Amazon ...
- (七)Amazon Lightsail 部署LAMP应用程序之清除已安装服务
1.删除Lightsail实例 2.删除MySQL数据库 3.删除Amazon RDS数据库 4.删除负载均衡器 5.删除EC2实例 6.删除EC2安全组 7.删除快照
- Azure Terraform(三)部署 Web 应用程序
一,引言 上一节关于 Terraform 的文章讲到 Terraform 使用到的一些语法,以及通过演示使用 Terraform 在Azure 上部署资源组,极大的方便了基础设施实施人员,也提高了基础 ...
- 部署LAMP+NFS实现双Web服务器负载均衡
一.需求分析 1.前端需支持更大的访问量,单台Web服务器已无法满足需求了,则需扩容Web服务器: 2.虽然动态内容可交由后端的PHP服务器执行,但静态页面还需要Web服务器自己解析,那是否意味着多台 ...
随机推荐
- subprocess, re模块,logging, 包等使用方法
subprocess, re模块,logging, 包等使用方法 subprocess ''' subprocess: sub: 子 process: 进程 可以通过python代码给操作系统终端发送 ...
- python进程池和进程锁
1.进程锁:from multiprocessing import Process, Lock def f(l, i): l.acquire() print('hello world', i) l.r ...
- [日常] 解决mysql localhost可以连接但是127.0.0.1不能连接
在测试mysql的过程中遇到使用localhost可以连接但是127.0.0.1不能连接,原因是localhost使用的本地socket连接,127.0.0.1使用使用的tcp连接 在mysql库的u ...
- Linux系统学习 三、网络基础—虚拟机网络配置
Linux网络基础 Linux的ip地址配置 Linux网络配置文件 常用网络命令 虚拟机网络参数配置 1.配置Linux的IP地址 首先配置一个IP地址,让IP生效. ifconfig查看当前网络配 ...
- R1-5天
R语言笔记文档 2019.11.24 R语言的安装 工作目录查看与更改 变量的三种赋值 如何查看R语言帮助 ? args 基础数据类型 基本数据类型 因子.数据框.数组.矩阵.列表.向量 2019.1 ...
- selenium如何向ueditor富文本中自动输入文本
1.网上给出的方法在百度的富文本控件ueditor中不起作用切换框架失败 2.利用ueditor的api文档,通过js不使用框架切换即可实现轻松写入 eg:ue.setContent('hello')
- for循环创建的a标签,当点击时如何确定点击的是哪一个标签?
创建 代码: js: 效果: 原因: html代码:这种获取选中标签的方式,是通过监听body来实现的,所以body上要增加这个onclick(this)
- 阿里Nacos初体验
Nacos 从开源到现在已经18个releases了,更新很快,社区也很活跃,光钉钉群的人数那也是好多,每次点个查看全部成员的按钮,我的钉钉就要卡死,也有可能我没更新最新的版本. 前面写了一段时间的S ...
- Unity Settings Deamon crash in 16.04 every time after boot
安装ubuntu 16.04的时候,出现这样一个错误: unity-settings-deamon crashed with SIGSEGV in up_exported_dae (can't rea ...
- git 创建分支 提交到远程分支
git 创建分支 并 提交到远程分支 git branch 0.可以通过git branch -r 命令查看远端库的分支情况 1,从已有的分支创建新的分支(如从master分支),创建一个dev分支 ...