1、ECS

1.1 简介

ESC:Elastic Compute Service,分布式计算服务

以阿里云为例,登录阿里云

点击控制台,点击左上角,找到ECS,创建

如下:

创建专有网络:

交换机:

确定即可。

在购买ecs页面的网络及可用区:选择刚才创建的专有网络和交换机:

其他项目,根据需求选择即可。

创建秘钥对:

根据实际填写:

点击确定即可:

然后会自动下载:

这就是私钥

选择秘钥对:

可以设置一个自动释放时间,

确定没问题,就可以下单了。

1.2 登录ecs

使用xshell登录买的实例

在xhsell中选择公钥方式,导入刚才创建的私钥即可:

浏览:

然后选择:

确定即可。

1.3 ecs日常使用指南

1)一般通过表格/资产管理平台(CMDB)统计收集服务器信息

2)远程连接使用

3)到期续费与检查

4)root密码重置

5)快照与恢复快照

6)系统重装(初始化)

7)添加数据盘,进行挂载使用

8)安全组配置

在阿里云的ecs后台,创建快照之后,就可以创建镜像。

注意:

部署好环境,所需服务启动并设置开机启动,完成所有操作后,就可以创建快照创建镜像

1.4 快照与克隆

ecs–>快照–>自定义镜像–>创建实例—>共享给其他人

1.5 磁盘挂载与使用

故障案例背景:

假设发现磁盘空间不足,通过排查发现/data/目录是数据目录,不能删除
此时需要扩容,添加一个硬盘,把/data/目录迁移到新的硬盘

步骤:

1、添加一块硬盘(创建云盘),勾选挂载到实例、云盘随实例释放和自动快照随实例释放
假设添加后为:/dev/vdb

2、格式化
mkfs.ext4 /dev/vdb

3、重命名/data/目录
mv /data/ /data-bak

4、创建/data/目录

5、挂载
mount  /dev/vdb  /data/

6、迁移数据
mv  /data-bak/*  /data/

1.6 安全组配置

阿里云的安全组默认是拒绝。

例如,设置22端口只能内网访问

ecs实例—>安全组—>配置规则—>入方向(相当于iptables的INPUT链),配置即可

2、NAS/OSS

2.1 概述

存储分为:

块存储:磁盘、云盘
文件存储:nfs存储、samba存储、nas存储
对象存储:自带数据高可用,如:ceph(开源软件)、阿里云oss、七牛云

nas vs oss

对比nasoss
共同点存储(用上传的文件)存储(用上传的文件)
区别1:命令文件存储对象存储
区别2:应用场景nfs、smb,适用于低并发、数据量不高的情况高并发、数据量比较大,如10tp、10pb
区别3:容量1pb、10pb无限制
区别4:配置与使用配置,Linux中使用mount进行挂载配置,程序代码中调用(AK)

2.2 nas文件存储

购买了nas后就可以挂载使用

假设名为:0a04ddj.aliyun.com
挂载:把nas的根挂载到/mnt目录
mount -t 0a04ddj.aliyun.com:/   /mnt/

2.3 oss对象存储

对象存储:程序代码调用oss,读写ak(用户名、密码)。。。

bucket:oss存储空间,也叫存储桶,可以创建多个,每个bucket有自己的名字,比如:test

Endpoint:存储桶基础地址,每个地区都有自己的地址,例如:oss-cn-hangzhou.aliyuncs.com

阿里云中搜索oss—>创建bucket—>配置名称,其他选项使用默认即可。

创建后,购买oss资源包

3、RDS

3.1 创建

阿里云数据库rds

云数据库rds版:

创建:

注意:主节点可用区杭州只有J、K、I、G

所以要创建你选择的可用区的交换机(vpc):

搜索vpc:

找到已经存在的专有网络实例—>交换机:

点击创建交换机:

创建好交换机,后回到red购买页面,主节点交换机已设置好:

其他选项使用默认即可,最后点击购买。

点击确认订单,购买即可

3.2 配置

1)配置白名单

如果不配置白名单,则无法访问数据库

点击刚才已经购买的数据库实例名称(假设名称为:aliyun-db01)—>配置白名单,默认允许网段:172.16.0.0/12,可以根据实际自行修改

2)设置用户

点击账号管理—>创建账号,选择高权限账号,设置密码,创建即可

高权限账号:root

3)数据库连接

默认情况下,没有开通外网地址。只有内网地址,假设为:rm-db01.mysql.rds.aliyncs.com

ping一下看看是否通:

ping  rm-db01.mysql.rds.aliyncs.com

连接数据库:

mysql  -uroot -p -h rm-db01.mysql.rds.aliyncs.com
4)创建数据库

数据库管理—>创建数据库,配置名称,选择授权账号,即可

4、项目案例LNMP

使用(ECS+RDS+NAS/OSS)搭建lnmp环境部署kodbox项目

在前面中,已经在阿里云购买了ecs、rds、oss

4.1 部署nginx+php

1)宝塔部署(不建议)

使用宝塔安装nginx+php比较简单。当然,也可以使用传统纯手工部署lnmp环境。

宝塔官网:https://www.bt.cn/new/index.html

安装:

yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec

The WebPanel URL will be http://SERVER_IP:8888 when installed.

端口是:8888,因此要在ecs安全组中设置允许该端口,否则无法访问。但实际端口,要看安装完成后会显示

安装完成后登录宝塔,在软件商店里找nginx、php安装即可。

2)传统方法

前面安装了宝塔,要去掉宝塔设置的安装nginx的配置,把/etc/yum.conf文中的”exclude=”的这行注释掉。

1、安装nginx

#1、配置yum源
vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

#2、安装nginx
yum install nginx

2、安装php

#1、配置php7.4的yum源
yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm

#2、安装php74及相关依赖包
yum install -y php74 php74-php-bcmath php74-php-common php74-php-cli php74-php-devel php74-php-embedded php74-php-fpm php74-php-gd php74-php-intl php74-php-mbstring php74-php-mysqlnd php74-php-opcache php74-php-pdo php74-php-pear php74-php-pecl-igbinary php74-php-pecl-memcached php74-php-process php74-php-xml


#3、修改php74配置文件
php74主配置文件:/etc/opt/remi/php74/php-fpm.conf
子配置文件:/etc/opt/remi/php74/php-fpm.d/www.conf
修改子配置文件,把user和group改成:nginx,默认是:apache:

vim /etc/opt/remi/php74/php-fpm.d/www.conf
user = nignx
group = nginx

#4、启动php
systemctl start php74-php-fpm
systemctl enable php74-php-fpm  #设置开机启动
3)部署kodbox
1、站点配置文件
vim /etc/nginx/conf.d/kodbox.conf
sever {
   listen 8090;
   server_name kodbox.test.com;
   root /app/code/kodbox;
   location / {
      index index.html;
   }
   location ~* \.php$ {
      fastcgi_pass 127.0.0.1:9000;
      fastcgi_index   index.php;
      fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
      include   fastxgi_params;
   }
}

这里使用8090端口,没有使用默认的80端口,因此要在ecs的安全组中放行8090端口。如果不行就换回80端口,并把默认的80端口的配置文件移动到别的目录或删除或gzip打包即可。

2、部署kodbox

kodbox官网:http://kodcloud.com/product/kodbox/

下载可道云:

curl -o kodbox.1.42.zip https://static.kodcloud.com/update/download/kodbox.1.42.zip

创建站点目录:

mkdir -p /app/code/kodbox

解压kodbox到站点目录

unzip kodbox.1.42.zip -d /app/code/kodbox

修改站点目录权限

chown -R nginx.nginx /app/code/kodbox
3、安装kodbox

浏览器打开ecs的公网ip即安装kodbox。要注意的是数据库连接的地址,就是前面rds的实例:rm-db01.mysql.rds.aliyncs.com

4)连接oss

步骤:

1、创建bucket:在前面中,已经创建了bucket,endpoint假设为:oss-cn-hangzhou.aliyuncs.com
2、创建ram用户:access key  id和access  key  securet
3、配置程序代码,访问使用oss

a、创建access key id和access key securet:

在阿里云搜索oss,找到bucket列表,找到已经创建了bucket,名称假设为:test,地址为:oss-cn-hangzhou.aliyuncs.com

点击“权限控制”—->访问控制RAM—->前往RAM控制台—>用户—>创建用户:

设置用户名,假设设为:kodbox,选择OpenAPI调用访问,然后确定。创建完成后,会显示密码(access key securet),假设为:12345,要记住这个密码,否则,关闭页面后不会再显示。

权限管理:刚才创建的用户,默认没有任何权限,因此,点击权限管理,新增授权。

系统策略:搜索oss,选择AliyunOSSFullAccess

b、配置程序代码

登录kodbox,点击“后台管理”—>存储文件—>存储管理—>新增

存储类型:阿里云

名称:根据实际设置

空间大小:根据实际需要设置

access key id:kodbox,根据实际填写

access key securet:12345,根据实际填写

Bucket名称:test,根据实际填写

地域节点:oss-cn-hangzhou.aliyuncs.com

存储目录:/kodbox/

服务器中断(上传)、服务器中断(下载)、设为默认都打开

最后,保存即可。

5、ecs、rds、nas、oss删除

rds、nas、oss直接删除(释放)即可

ecs删除之前,要把镜像、快照、云盘等删除后才可以删除