月度归档: 2020年4月

在EC2上搭建django

什么是django?

IMG_256

Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。

Django是一个开放源代码的Web应用框架,由Python写成。

Django遵守BSD版权,初次发布于2005年7月, 并于2008年9月发布了第一个正式版本1.0 。

Django采用了MVC的软件设计模式,即模型M,视图V和控制器C。

1.启动EC2

如果读者期望可以在本文中看到如何启动一个Ubuntu16.04版本的EC2,如何通过./configure make make install等等操作安装python3.7.4,如何解决python编译过程中的错误,如何解决pip安装时的openssl问题,那笔者可以明确的说,不存在的。

因为AWS Marketplace中提供了很多集成django的AMI(Amazon系统镜像),我们只需要在选择AMI时搜索django,挑选一个自己喜(mian)欢(fei)的版本(笔者选择的是Bitnami的版本)。

然后再一路next,最后在审核和启动界面仔细检查配置,确认没问题后点击启动。

等待几分钟之后,就可以继续了,完全不用再考虑安装编译等问题了。

2.连接EC2并测试

通过ssh连接工具(笔者使用的MobaXterm),新建session,服务器地址填写刚刚启动的EC2的ip地址,用户名为bitnami(不同AMI用户会不一样,需要查看EC2的使用说明标签。),再选择用户的私钥,既可以连接到服务器上了。

确认连接没问题之后,就可以测试下环境是否以及搭建好了。

打开浏览器,在地址栏输入EC2服务器的ip地址。如果显示下面的界面,则表示环境以及运行成功。

总结

通过简单的几步操作,就可以搭建起django测试环境,这其中,AWS Marketplace帮我们解决了部署中最头疼的问题,我们只需要专注于自己应用的开发就可以了。

陈汉卿

云业务事业部 | 高级系统架构师

神州泰岳软件股份有限公司·AWS战略合作伙伴

AWS Solution Provider | Migration | DevOps | Cloud Management Tools(CMT) ISV Partner

AWS EC2 EBS磁盘扩容实战

文档概述

在我们日常工作中,常常会遇到AWS EC2实例存储卷空间不够用,需要扩容存储卷、在线添加存储卷或由于工作负载变化,需要调整存储卷类型的情况。上述操作会对业务有影响吗?答案是不会的,AWS支持在线存储卷扩容,在线添加存储卷,在线修改存储卷类型且不需要重启EC2实例。 

以下文章描述如何完成上述操作,参考AWS 官方文档。

https://docs.amazonaws.cn/AWSEC2/latest/UserGuide/ebs-modify-volume.html

操作过程:

背景介绍:

环境中有一台AWS Linux EC2实例,根存储卷大小为默认8GB 通用型SSD存储IOPS为100,登录EC2实例,使用df –h命令,查看到存储使用情况,可看到默认8GB存储,已使用空间为16%

  1. 在线添加EBS存储卷

打开AWS 控制台,创建一个2GB 大小的通用型SSD存储卷

将新创建的EBS存储卷附加至测试的linux实例

可在控制台中,看到增加一块EBS存储卷

进入系统,格式化并挂载EBS存储卷,输入lsblk 查看存储卷设备。

创建文件系统,并挂载EBS存储卷,输入file –s /dev/xvda1,可看到xvda1根据的文件系统是XFS,而xvdf为data时,则表示设备上没有文件系统。

使用mkfs –t在空存储卷上创建文件系统,如果要装载已具有数据的存储卷(例如,通过快照还原的存储卷),请勿使用此命令。否则,会格式化存储卷并删除现有数据。

创建挂载点目录/data mkdir /data mount /dev/xvdf /data

重启验证挂载点,是否存在,执行reboot操作,重启之后,发现新挂载点不存在。

那么如何做到,重启后自动挂载附加存储卷,首先创建 /etc/fstab 文件的备份,以便在编辑时误损坏或删除此文件时使用。执行cp /etc/fstab /etc/fstab.orig,使用 blkid命令查找设备的 UUID。

打开sudo vim /etc/fstab文件,添加如下信息

挂载文件系统

  1. 在线调整根存储卷存储卷大小

对于弹性存储卷EBS,可以在不分离 Amazon EBS 存储卷的情况下动态修改存储卷的大小、性能和存储卷类型。在修改包含有用数据的存储卷之前,最佳实践是创建存储卷的快照。

首先修改在线根存储卷大小,从8GB调整为10GB。

在增加 EBS 存储卷的大小后,必须使用特定于文件系统的命令来将文件系统扩展到较大大小。一旦存储卷进入 optimizing 状态,即可调整文件系统的大小。

参考链接:https://docs.amazonaws.cn/AWSEC2/latest/UserGuide/recognize-expanded-volume-linux.html

使用file –s /dev/xvd*查看分区文件系统,下图显示为XFS文件系统。

要在根存储卷上扩展分区,请使用以下 growpart 命令,使用growpart /dev/xvda 1 进行扩展分区。

扩展文件系统,XFS系统 xfs_growfs –d /

  1. 在线调整存储卷存储卷类型

从通用型SSD 2GB修改为4GB预配置IO1

通过lsblk查看,扩展存储卷大小为4GB

增大扩展存储卷文件系统,执行以下命令,查看文件系统格式,格式为XFS

file -s /dev/xvdf

使用xfs_growfs -d /data 增大扩展存储卷文件系统,df –h 查看 从2GB增加到4GB

本文结论

在AWS EBS创建一台Linux EC2实例。

  • AWS EBS可在线增加EBS存储卷
  • 可在线修改EBS存储卷大小、类型、扩容存储卷。数据不会丢失,不需要重启生效。
  • 当修改了存储卷大小后,需要6小时才能修改其他选项。
  • 建议做操作前,拍摄快照进行备份。

陈汉卿

云业务事业部 | 高级系统架构师

神州泰岳软件股份有限公司·AWS战略合作伙伴

AWS Solution Provider | Migration | DevOps | Cloud Management Tools(CMT) ISV Partner

postman使用指南

背景介绍

现在许多初级开发调试B/S模式的程序的时候想要跟踪网页请求,用户往往有很多的开源工具或者手写代码请求,我比较常用的一种软件是postman,他是Chrome插件代表作之一。

下载安装

Postman可以分两种方式下载,第一种直接去官网下载可以执行的exe文件,

https://www.getpostman.com/downloads/

第二种方式是直接使用Chrome浏览器下载插件,

IMG_256

基础功能

postman主要功能

从图中可以看到,postman的免费版本就提供了非常全面的功能,下面将简单的介绍postman的使用。

设置环境变量

有时需要在不同的环境下跑相同的测试,此时可以通过设置环境变量来动态选择。点击右上角的设置按钮:

设置环境变量

使用这些键值的时候只需要加上两个花括号引用key{{url_base}}/username解析完后建立多个环境时,key通常都是相同的,只是value不同创建好所有环境后,在跑用例的时候在右上角下拉列表选择需要的环境就好。

请求

postman界面分为两部分:左边的sidebar 右边的request builder:快速创建几乎所有的请求

有些headers和cookies是保密的,如:

  1. Accept-Charset 2.Accept-Encoding 3.Access-Control-Request-Headers4.Access-Control-Request-Method5.Connection6.Content-Length7.Cookie8.Cookie 29.Content-Transfer-Encoding10.Date11.Expect12.Host13.Keep-Alive14.Origin15.Referer16.TE17.Trailer18.Transfer-Encoding19.Upgrade20.User-Agent21.Via

添加cookie

有些接口在调用时,需要添加权限,例如:你访问一个接口,没有cookie,直接跳转到登录页。

IMG_256

这个时候可以通过添加cookie的方式跳过验证,例如:

这样即可跳过验证,成功发送请求。