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
对比 | nas | oss |
---|---|---|
共同点 | 存储(用上传的文件) | 存储(用上传的文件) |
区别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删除之前,要把镜像、快照、云盘等删除后才可以删除