风雨同行 发表于 3 天前

云计算学习之Tomcat应用部署、ECS业务部署、RDS-NAS

一.Tomcat应用部署

1.web01部署zrlog博客

``bash
1.安装JDK
# ll jdk-8u181-linux-x64.rpm 
-rw-r--r-- 1 root root 170023183 Aug 20 09:31 jdk-8u181-linux-x64.rpm
安装
# rpm -ivh jdk-8u181-linux-x64.rpm 
warning: jdk-8u181-linux-x64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
Verifying...                          #################################
Preparing...                          #################################
Updating / installing...
   1:jdk1.8-2000:1.8.0_181-fcs        #################################

2.下载Tomcat
# cd /soft/
# wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.98/bin/apache-tomcat-9.0.98.tar.gz
# tar xf apache-tomcat-9.0.98.tar.gz 
# ll
total 12464
drwxr-xr-x 9 root root      220 Dec 23 08:40 apache-tomcat-9.0.98
# ln -s apache-tomcat-9.0.98 tomcat

3.修改配置文件
# vim server.xml
...
      <Host name="diy.tomcat.com"  appBase="/code/tomcat"
            unpackWARs="true" autoDeploy="true">
        <Context docBase="/code/tt" path="/tt" reloadable="true" />
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="diy_tomcat" suffix=".log"
               pattern="%h %l %u %t "%r" %s %b" />
      </Host>
      <!--zrlog的server配置-->
      <Host name="www.zr.com"  appBase="/code/zrlog"
            unpackWARs="true" autoDeploy="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="zrlog_access" suffix=".log"
               pattern="%h %l %u %t "%r" %s %b" />
      </Host>
    </Engine>
...
4.启动tomcat
# systemctl start tomcat
5.下载zrlog
# ll
total 10980
-rw-r--r-- 1 root root 11243048 Aug 19 20:58 zrlog-2.2.1-efbe9f9-release.war
6.修改名称为ROOT
# mv zrlog-2.2.1-efbe9f9-release ROOT
# ll
total 10980
drwxr-x--- 9 root root      126 Dec 23 08:46 ROOT
# 删除无用的包
# rm -rf zrlog-2.2.1-efbe9f9-release*
重启Tomcat
# systemctl restart tomcat

7.windows访问tomcat
hosts解析
10.0.0.7  www.zr.com
```
!(day43-Tomcat.assets/image-20241223084919207.png)
```bash
必要创建zrlog库
# mysql -uroot -plzy123.com -e "create database zrlog";
# mysql -uroot -plzy123.com -e "show databases";
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| wordpress          |
| zh                 |
| zrlog              |
+--------------------+
```
https://i-blog.csdnimg.cn/direct/bbc55f7bb4604445a5642605876c2f8f.png
https://i-blog.csdnimg.cn/direct/3919a49aae2649b0b10e41ea0b81c48a.png
https://i-blog.csdnimg.cn/direct/e0e0541cfe644811bc8852b4817f8780.png
https://i-blog.csdnimg.cn/direct/6944a70302c04c9e873adb7c691603e5.png


https://i-blog.csdnimg.cn/direct/95933fcd7f954aab972c7243081f706d.png
https://i-blog.csdnimg.cn/direct/0b2b34e407534f41a53ee713eaf02efc.png
https://i-blog.csdnimg.cn/direct/553478a3ab7544b5a1f2cb504ec76173.png
https://i-blog.csdnimg.cn/direct/926c2ccf94c44912a8321937cc405c1f.png
问题解决思路
1. 配置文件内里有一堆问题.
2. 站点目次没有
3. jdk不在你配置的目次内里 rpm或yum安装的不消配置路径,二进制的才用.
4. 日志是/soft/tomcat/logs/catalina.out这个文件. 
2.web02部署zrlog博客

```bash
1.安装jdk
# ll jdk-8u181-linux-x64.rpm 
-rw-r--r-- 1 root root 170023183 Aug 20 09:31 jdk-8u181-linux-x64.rpm
# rpm -ivh jdk-8u181-linux-x64.rpm
2.安装tomcat、配置server
# scp -r 10.0.0.7:/soft /
3.配置systemctl启动方式
cat >/usr/lib/systemd/system/tomcat.service<<'EOF'

Description=Apache Tomcat Server
After=network.target remote-fs.target nss-lookup.target


Type=forking
ExecStart=/soft/tomcat/bin/startup.sh
ExecStop=/soft/tomcat/bin/shutdown.sh
ExecRetart=/soft/tomcat/bin/shutdown.sh  && sleep2  && /soft/tomcat/bin/startup.sh


WantedBy=multi-user.target
EOF

# 重新加载systemctl
# systemctl daemon-reload
4.下载zrlog 同步web01的代码
# scp -r 10.0.0.7:/code/zrlog /code/
5.启动tomcat
# systemctl restart tomcat
6.windows访问测试
10.0.0.8 www.zr.com
```
https://i-blog.csdnimg.cn/direct/3ab71fe4b20a4eac9840c9f29593e116.png
https://i-blog.csdnimg.cn/direct/3ff95a45d25c4a478d54ad91038a35f6.png

3.ZRLOG接入负载均衡

```bash
# cat zr.conf
upstream zr {
     server 172.16.1.7:8080;
     server 172.16.1.8:8080;
     keepalive 16;
}
server {
    listen 443 ssl;
    server_name www.zr.com;
    ssl_certificate   ssl_key/server.crt;
        ssl_certificate_key  ssl_key/server.key;
     
     ssl_session_cache shared:SSL:1m;
     ssl_session_timeout 5m;
     
     #自定义设置利用的TLS协议的类型以及加密套件(以下为配置示例,请您自行评估是否必要配置)
     #TLS协议版本越高,HTTPS通信的安全性越高,但是相较于低版本TLS协议,高版本TLS协议对浏览器的兼容性较差。
     ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
     ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
    location / {
    proxy_pass http://zr;
    include proxy_params;
    proxy_next_upstream error timeout http_500 http_502 http_503 http_504;
    }
}
server {
        listen 80;
        server_name www.zr.com;
        return 302 https://$server_name$request_uri;
}
# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
# systemctl restart nginx

hosts解析
10.0.0.5 www.zr.com
```
4.zrlog接入NFS共享

```bash
1.web01上传图片
#图片的位置
# ll ROOT/attached/image/20241223/20241223094001_428.jpeg
-rw-r----- 1 root root 52606 Dec 23 09:40 ROOT/attached/image/20241223/20241223094001_428.jpeg
2.web02访问测试
裂图
3.NFS配置共享zrlog的静态文件目次
# cat /etc/exports
/data/wp 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
/data/zrlog 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
# mkdir /data/zrlog
# grep 666 /etc/passwd
www:x:666:666::/home/www:/sbin/nologin
# chown www.www /data/zrlog/
# ll -d /data/zrlog/
drwxr-xr-x 2 www www 6 Dec 23 09:48 /data/zrlog/
#重启收效
# systemctl restart nfs

4.将图片推送至NFS共享目次 推送image目次到31
# scp -r ROOT/attached/image 10.0.0.31:/data/zrlog/
#在NFS服务端递归授权目次权限
# chown -R www.www /data/zrlog/

5.挂载31的/data/zrlog 到 attached
# mount -t nfs 172.16.1.31:/data/zrlog /code/zrlog/ROOT/attached
# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 459M     0  459M   0% /dev
tmpfs                    475M     0  475M   0% /dev/shm
tmpfs                    475M   49M  426M  11% /run
tmpfs                    475M     0  475M   0% /sys/fs/cgroup
/dev/sda3                 48G  5.0G   43G  11% /
/dev/sda1                195M  122M   74M  63% /boot
tmpfs                     95M     0   95M   0% /run/user/0
172.16.1.31:/data/zrlog   48G  3.9G   44G   9% /code/zrlog/ROOT/attached

web02挂载NFS
# mkdir /code/zrlog/ROOT/attached
# mount -t nfs 172.16.1.31:/data/zrlog /code/zrlog/ROOT/attached
# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 459M     0  459M   0% /dev
tmpfs                    475M     0  475M   0% /dev/shm
tmpfs                    475M   49M  426M  11% /run
tmpfs                    475M     0  475M   0% /sys/fs/cgroup
/dev/sda3                 48G  4.7G   44G  10% /
tmpfs                    475M   32K  475M   1% /tmp
/dev/sda1                195M  122M   74M  63% /boot
tmpfs                     95M     0   95M   0% /run/user/0
172.16.1.31:/data/zrlog   48G  3.9G   44G   9% /code/zrlog/ROOT/attached
```
 
5.tomcat的会话保持

1.官网的推荐的倒霉用,如果利用则不能高出4个节点
2.利用第三方插件实现tomcat将会话写入到redis
6.tomcat配置获取session页面

```bash
1.配置假造主机
# vim server.xml
..
      </Host>
      <Host name="session.oldboy.com"  appBase="/code/session"
            unpackWARs="true" autoDeploy="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="session_tomcat" suffix=".log"
               pattern="%h %l %u %t "%r" %s %b" />
      </Host>
      <Host name="www.zr.com"  appBase="/code/zrlog"
...
2.准备代码大概当前web01的session
# systemctl restart tomcat
# mkdir /code/session/ROOT
# vim /code/session/ROOT/index.jsp
<body>
        <%
        //HttpSession session = request.getSession(true);
        System.out.println(session.getCreationTime());
        out.println("<br> web01 SESSION ID:" + session.getId() + "<br>");
        out.println("Session created time is :" + session.getCreationTime()
        + "<br>");
        %>
</body>
3.访问session
10.0.0.7 session.oldboy.com

https://i-blog.csdnimg.cn/direct/4277e455222742c290870811c3a7f33d.png
7.面试题总结

1.上传redis插件
# ll
total 900
-rw-r--r-- 1 root root 921429 Dec 23 11:13 tomcat-cluster-redis-session-manager.zip
2.解压插件
# unzip tomcat-cluster-redis-session-manager.zip
3.拷贝jars到tomcat的/lib目次中
# cp tomcat-cluster-redis-session-manager/lib/* /soft/tomcat/lib/
4.拷贝conf下的redis.properties文件,到tomcat的conf文件
# cp tomcat-cluster-redis-session-manager/conf/redis-data-cache.properties /soft/tomcat/conf/
5.将配置文件中连接redis地址修改为如下地址即可
# vim /soft/tomcat/conf/redis-data-cache.properties
redis.hosts=172.16.1.51:6379
6.添加如下两行至tomcat/conf/context.xml  (添加在</Context> 上一行 )
# vim /soft/tomcat/conf/context.xml
<Valve className="tomcat.request.session.redis.SessionHandlerValve" />
<Manager className="tomcat.request.session.redis.SessionManager" />
留意: 修改完一台直接和别的一台举行无差异同步rsync --delete
# rsync -avz --delete /soft/tomcat/ 10.0.0.8:/soft/tomcat
修改完成后重启Tomcat
```
kill -9 和kill -15的区别

‌kill -9 和 kill -15 的主要区别在于它们发送的信号类型、进程响应方式以及资源清算效果不同。‌

[*] ‌信号类型和进程响应方式‌:

[*]‌kill -15‌:发送的是 SIGTERM(信号编号为15)信号。这是一种可捕获的信号,进程可以响应这个信号,举行一些清算工作后再退出。进程可以选择立即制止、开释资源后制止,大概忽略该信号继续执行‌12。
[*]‌kill -9‌:发送的是 SIGKILL(信号编号为9)信号。这是一种不可捕获的信号,进程无法响应,体系会立即强制结束该进程‌12。

[*] ‌资源清算效果‌:

[*]‌kill -15‌:由于进程有机会响应 SIGTERM 信号并举行清算工作,通常可以在结束前开释资源,镌汰资源泄露的风险‌12。
[*]‌kill -9‌:由于进程被强制结束,可能无法举行任何清算工作,轻易导致资源泄露‌12。

[*] ‌利用场景‌:

[*]‌kill -15‌:适用于必要优雅关闭的服务或进程,允许其在结束前举行必要的清算工作,得当生产环境中的利用,以保护数据完整性‌3。
[*]‌kill -9‌:适用于紧急环境或无法正常关闭的进程,强制结束以制止更严峻的问题,但通常不推荐在生产环境中利用,由于可能导致数据丢失‌12。

查找文件后缀是Log的三天前的文件删除和三天内没修改过的文件

1. 删除三天前的日志文件(以.log结尾)

要删除三天前的.log文件,你可以利用find命令联合-mtime选项。-mtime选项允许你指定文件内容最后一次被修改的时间,这里是三天前。
find /path/to/directory -type f -name "*.log" -mtime +2 -exec rm {} \;
这里:


[*] /path/to/directory 是你要搜索的目次路径。
[*] -type f 指明我们要查找的是文件。
[*] -name "*.log" 指定文件名模式为以.log结尾。
[*] -mtime +2 表现文件最后一次被修改的时间是3天前(由于本日是当前时间,所以是+2天前的文件)。
[*] -exec rm {} \; 对找到的每个文件执行rm命令来删除它。
2. 删除三天内未修改过的文件

如果你想要删除三天内未被修改过的文件(不仅仅是.log文件),你可以利用雷同的find命令,但是这次利用-mtime的相反逻辑,即查找在三天前或更早被修改的文件。
find /path/to/directory -type f -mtime +2 -exec rm {} \;
这条命令同样适用于全部类型的文件,不仅仅是.log文件。如果你想专门针对.log文件来做这个操作,可以再次利用-name "*.log"选项。
留意事项:



[*] 在运行删除命令之前,请确保你完全理解这条命令将会做什么,特别是在生产环境中。可以利用-exec ls {} \;代替-exec rm {} \;来先列出将要被删除的文件,以确认是否正确。
[*] 对于重要数据,最好先举行备份,以防误删除重要文件。
[*] 利用find命令时,确保你有充足的权限去访问和删除目标文件。如果没有,你可能必要利用sudo来提升权限。
例如,如果你想先列出全部三天前未修改过的.log文件而不删除它们,你可以这样做:
find /path/to/directory -type f -name "*.log" -mtime +2 -exec ls -l {}
8.tomcat接入redis会话保持

```bash
# 10.0.0.51服务器运行
# 启动redis服务 保证远程可以访问到redis
1.上传redis插件
# ll
total 900
-rw-r--r-- 1 root root 921429 Dec 23 11:13 tomcat-cluster-redis-session-manager.zip
2.解压插件
# unzip tomcat-cluster-redis-session-manager.zip
3.拷贝jars到tomcat的/lib目次中
# cp tomcat-cluster-redis-session-manager/lib/* /soft/tomcat/lib/
4.拷贝conf下的redis.properties文件,到tomcat的conf文件
# cp tomcat-cluster-redis-session-manager/conf/redis-data-cache.properties /soft/tomcat/conf/
5.将配置文件中连接redis地址修改为如下地址即可
# vim /soft/tomcat/conf/redis-data-cache.properties
redis.hosts=172.16.1.51:6379
6.添加如下两行至tomcat/conf/context.xml  (添加在</Context> 上一行 )
# vim /soft/tomcat/conf/context.xml
<Valve className="tomcat.request.session.redis.SessionHandlerValve" />
<Manager className="tomcat.request.session.redis.SessionManager" />
留意: 修改完一台直接和别的一台举行无差异同步rsync --delete
# rsync -avz --delete /soft/tomcat/ 10.0.0.8:/soft/tomcat
修改完成后重启Tomcat
https://i-blog.csdnimg.cn/direct/f9f5c0f6614448c6809a568007e68bf5.png
二.ECS业务部署

1.阿里云先容

1.云根本先容
    1.1) 什么是云?
        云是一种”按需付费的模式“,这种模式提供了(计算、存储、网络等资源),这些资源能够被快速提供。
            1.包年包月;
            2.按需付费; SIM流量一样; 用多少给多少钱;
            
            云只是一种思想,并不是某种具体的技术;
            云必要依托于 假造化技术才可以实现;
    1.2) 云的分类?
        公有云(阿里云、腾讯云、亚马逊云)只有利用权,按需付费(技术层面:数据不安全)
        
            熊猫TV --> 阿里云;   阿里云投资 --> 斗鱼;
            熊猫TV --> 迁徙云上的业务 --> 腾讯云;
        
        私有云(自建机房,本身搭建,全部自行管理 (局限:资源固定))
            将真实的物理服务器逻辑捆绑成一个假造资源池,用户可以根据假造资源池按需利用,资源是固定。
            
            Openstack,Docker,Kubernetes, 私有云; vmware,ESXI5.4(集成了操作体系和假造化软件 课下扩展如何安装和利用ESXI) 在公司, 利用多台性能较高的物理主机, 逻辑组成一个巨大资源池;
                根据业务必要,举行按需创建,利用对应的资源;
                不对外开发,仅对本公司开放;
                
                    好处: 数据安全,
                    劣势: 
                        1.本身维护,本身管理,本钱高;  白夜休休模式
                        2.无法快速的扩展节点;  10台呆板组成; 300-400台的;
                        
                        
            那私有云跟传统机房有啥区别啊,都是本身弄物理装备
                私有云: 多台呆板逻辑捆绑在一起;组成的资源池; --> 体系平台;
                传统机房: 物理呆板托管在机房;  在物理机上运行资源;  --> 3台 --> MySQL Mha
                也就是都是这堆物理装备,但是对于它们的运用方式不一样
                
        混合云(主要业务放私有云、当有暂时需求的时候利用公有云,利用结束后开释)
            按需利用、按需付费、保证业务稳固的同时,也能节流肯定的本钱。
            
            
            两类场景:
                1.公司正常的业务运行,资源不够, 借助公有云来快速,高效扩展业务;
                2.重要的业务,核心的业务,在私托有云平台,  官网, OA, 等等 不是很敏感的信息,托管在公有云;
        https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg.zhiding.cn%2F5%2F902%2FlixpBLHIdcZIc_600.jpg%3Frand%3D155&refer=http%3A%2F%2Fimg.zhiding.cn&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1625626132&t=052d86edae7c9ead828070ed1b8c917f
    1.3) 为什么要用云?
        1)海量资源池机动调配 [像大海一样|无尽头]
         2)无处不在的网络访问 [随时随地能访问云资源]
         3)随需应变的自助服务 [包年包月-电话卡|按需付费-流量包]
        4)保证服务的高可用性
        5)能实现快速弹性伸缩 [扩展|伸缩|自愈]
2.购买ECS服务器

    扩展:  多加一个web节点;
                伸缩:  镌汰一个web节点;
                自愈:  一个节点出现问题 自动调用接口创建雷同配置的服务器节点
    1.4) 云有哪些厂商?
        1) 阿里云 | 腾讯云 | Ucloud | 青云 |  [ AWS ] 
        2) 华为云 | 京东云 | 滴滴云 | 
    1.5) 云上面的产物名词
        1)物理服务器    --> 阿里云
        2)服务器        --> ECS、快照、镜像,克隆;
        3)负载均衡        --> SLB
        4) 数据库        --> RDS
        5) 存储服务        --> NAS、OSS
        5) 防火墙        --> 安全组iptables,firewalld、高防IP、WAF
        6)远程访问        --> VPN | JumpServer + OpenVPN
        7) 消息队列        --> MQ
        8) 网络         --> 弹性网卡 NAT
        ..........................
3.ECS服务器云盘


    1.6) 利用阿里云完本钱次课程目标?--> 企业架构
    
    https://www.processon.com/diagraming/5e4bc880e4b0d86ec4089270
    
2.ECS产物利用
  云服务器(Elastic Compute Service,简称 ECS),是一种简单高效、可弹性伸缩的计算服务。
  好比: 当服务器运行负荷不够时,通常的做法是增加服务器,那么增加服务器的流程和步骤如下:
    1.购买硬件,拆开服务器、安装硬件装备。
    2.部署体系、部署应用、接入集群。
  但如果利用云主机,可以实现自动化感知、自动化扩展集群。
    
    2.0) ECS云服务逻辑架构    
        https://help.aliyun.com/document_detail/25367.html?spm=a2c4g.11186623.6.553.32895c4ad25YGi
    2.1) ECS地区与可用区说明
    https://help.aliyun.com/document_detail/188196.html?spm=a2c4g.11186623.6.556.3e5e53c0ZQ8lpP
            地区:                指的是一个都会;
            可用区:        指的是都会下面的区;
            
            1.雷同地区,不同可用区之间的内网是互通的;
            2.不同地区,雷同可用区,内网不互通; 但是我们可以通过技术手段来实现互联互通;
            3.每一个地区,都有一个VPC路由器;   每一个可用区都必要有一个交换机;  全部的交换机都是连接的同一个VPC路由器;
            
            
    2.2)ECS云主机配置选型
            web节点: 4c x 16Gb
            DB节点:  4c x 64Gb  4c x 32Gb  12c x 128GB   发起利用:SSD  性能会受到磁盘的限制;
            
            数据迁徙  将物理机的服务 --> 云主机 
            故障案例:
                4c x 64GB 物理机  磁盘 SATA = 400Mbps
                4c x 64GB 云主机  磁盘 高效盘 100Mbps  | SSD 固态盘 = 400Mbps
                dd | hdparm -t /dev/vda1
            
    2.3)ECS中的网络扼要说明    
            EIP: 弹性公网IP
            SLB: 负载均衡
            NAT: 网关装备
            VPN: 远程访问服务
            VPC: 软件路由器 ( 可以创建交换机, 可以在每个可用区都创建 )
    
        VPC文档:https://help.aliyun.com/document_detail/54095.html?spm=5176.11182174.content.1.4411488295LcKx#title-oil-ncn-266
    
    2.4)ECS云主机购买|费用选择|地区选择|实例选择|镜像选择|  账户中最少100元
    2.5)ECS体系设置|VPC网络|安全组|
    2.6)ECS远程连接(控制台|Xshell|重置暗码)
    2.7) ECS其他操作(添加数据盘|扩容磁盘)
        云盘--->创建50G云盘---> 挂载到WEB01
        物理机: 插入磁盘(物理机支持热插拔) 分区 格式化 挂载
        vmware:插入磁盘 重启 分区 格式化挂载
        
        云服务器:
        格式化:
        # mkfs.xfs /dev/vdb 
        meta-data=/dev/vdb               isize=512    agcount=4, agsize=3276800 blks
                 =                       sectsz=512   attr=2, projid32bit=1
                 =                       crc=1        finobt=0, sparse=0
        data     =                       bsize=4096   blocks=13107200, imaxpct=25
                 =                       sunit=0      swidth=0 blks
        naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
        log      =internal log           bsize=4096   blocks=6400, version=2
                 =                       sectsz=512   sunit=0 blks, lazy-count=1
        realtime =none                   extsz=4096   blocks=0, rtextents=0
        挂载:
        # mount /dev/vdb /mnt
        # df -h
        Filesystem      Size  Used Avail Use% Mounted on
        devtmpfs        461M     0  461M   0% /dev
        tmpfs           471M     0  471M   0% /dev/shm
        tmpfs           471M  464K  471M   1% /run
        tmpfs           471M     0  471M   0% /sys/fs/cgroup
        /dev/vda1        40G  2.3G   36G   6% /
        tmpfs            95M     0   95M   0% /run/user/0
        /dev/vdb         50G   33M   50G   1% /mnt
        
        在线扩容:
        云盘--> 选择50G的数据盘 在线扩容到100G
        执行命令扩容文件体系
        # xfs_growfs /mnt        
    
    2.8) ECS搭建kodcloud
    2.8.1 
       安装Nginx
       配置Nginx
       server {
        listen 80;
        server_name test.linuxnc.com;
        location / {
                root /code;
                index index.php index.html;
        }
        location ~ \.php$ {
                root /code;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }
        }
       启动Nginx
       PHP-FPM 安装
       加入开机自启动
       下载可道云
       wget https://static.kodcloud.com/update/download/kodbox.1.30.zip
       解压到代码目次举行安装
       
    Document: https://help.aliyun.com/product/25365.html?spm=a2c4g.11186623.6.540.4db0505cbq8EHp
4.web01部署KOB网盘

3.ECS快照
    3.1)快照根本先容
    3.2)快照利用场景
    3.3)快照利用方式
        手动创建快照
        自动创建快照
    Document:https://help.aliyun.com/document_detail/25391.html?spm=a2c4g.11186623.6.823.73175b2cIbssVu
    测试: 将web01的代码删除 
          通过页面无法访问
          通过快照恢复再次访问
4.ECS镜像
    4.1)镜像根本先容和利用
    4.2)镜像的生命周期
    4.3)基于快照创建镜像    克隆--> (基于快照-->镜像-->启动实例)
    4.4)基于镜像启动实例(和此前的应用节点环境一致)
    4.3)镜像复制、镜像共享、镜像删除
    Document:https://help.aliyun.com/document_detail/25389.html?spm=a2c4g.11186623.6.737.68f9116diWlmEv
5.SLB负载均衡    
    5.1)SLB是什么
    5.2)SLB负载均衡高可用
    5.3)SLB负载均衡应用场景
    5.4)SLB基于域名/URL路径举行转发(aliyun.example.com)
        1.将/user的哀求调理到 web01 8080端口
        2.将/pass的哀求调理到 web02 8080端口
        3.如果直接访问该域名,则返回一个默认站点(ecs01 ecs02 kodcloud)
    5.5) SLB基于不同的域名转发到不同的假造服务器组 aliyun.example.com slb.example.com
        1.配置后端服务器ecs01、ecs02的Nginx
        2.配置slb假造资源池,test1资源池(8888) test2资源池(9999)
        3.配置dns的解析,将域名都解析至slb负载均衡的公网IP上
        4.配置slb转发规则,根据域名调理到不同的服务资源池
5.通过镜像运行ECS服务器

    5.6)作业:
        1.阿里云多可用区的高可用解决方案[无法模拟效果-->只有可用区故障才切]
        2.利用两个真实域名 a域名调理到两台服务器  b域名调理两台服务器  如果直接访问slb的公网IP则跳转到a域名
    Document: https://help.aliyun.com/document_detail/27539.html?spm=a2c4g.11186623.6.544.3ad85339qTtOwW

11.HTTPS
    11.1) 如何购买HTTPS
    11.2) 企业购买HTTPS发起说明
    11.3) 实战:配置SLB支持HTTPS
    11.4) 实战:配置CDN支持HTTPS
    Document:https://help.aliyun.com/product/28533.html?spm=a2c4g.750001.list.180.70497b13IJcDtu
6.Redis集群先容

6.RDS数据库服务-Redis
    6.1)RDS-Redis架构
    6.2)RDS-Redis实例创建
        1.获取redis集群内网地址
        2.配置redis集群用户名和暗码   123@qqcom
        3.配置谁可以访问redis,设置白名单
        4.在web01大概web02测试命令行是否正常连接
          yum -y install redis
        连接方式redis-cli -h oldboy.redis.rds.aliyuncs.com  -a 'oldboy:123@qqcom'
    6.3)对接KODE业务 必要RDS实例设置设置免密访问
    6.4)RDS实例设置外网连接IP (利用暗码的方式连接,免密会报错)
    6.5)RDS实例设置直连模式
    6.6)RDS实例备份与恢复(集群RDB 标准版可以是AOF)
    6.7) 实战:实现kodcloud缓存(留意:redis暗码不要特别字符开头)
    Document: https://help.aliyun.com/product/26340.html?spm=a2c4g.11174283.6.34.690852feQTaE4k
    作业:
        1.购买标准版-双副本(社区版)Redis实例,测试内网连接
        2.配置免秘设置 KOD对接Redis 
        3.配置公网连接 在假造机的WEB01可以连接Redis集群
    在企业中配置redis的方式: 
    第一种: 管理页面有自带的接口配置redis
    第二种: 管理页面没有必要我们找到对应数据库配置文件将信息填写进去
        
7.RDS数据库服务-mysql
    7.1)RDS-MySQL架构 主从
    7.1) 购买RDS数据库
    7.2) 配置白名单(允许谁能连接),获取RDS内网数据库地址
    7.3) 创建用户,点击账号管理,创建用户,等待1分钟。
    7.4) 通过ecs云主机的内网连接RDB数据库
    KOD将动态数据写入MySQL集群
    KOD-->背景管理-->服务器管理-->数据库切换
    7.5) 如何配置RDB能通过外网连接
        1.设置白名单,才会显示内网RDS可连接地址 rm-2zea2795fzoaqwqlj35890.mysql.rds.aliyuncs.com
        2.配置用户名和暗码 (oldboy:123@qqcom)
        3.配置外网地址(公司的固定IP|0.0.0.0/0)
    7.6) 配置RDB读写分离
            1.添加只读实例,购买2台主机
            2.数据库代理->开启代理服务->开启读写分离(自动显示架构图)
            3.让程序直接连接该地址,自动实现了读写分离
    7.7) 配置RDB的备份策略, 备份恢复中点击->备份设置,根据实际环境做调整。
    7.8) 实践:搭建wordpress、共享数据至RDS
    Document: https://help.aliyun.com/document_detail/96047.html?spm=a2c4g.11174283.6.603.72514c22mb10IC
    
13.ESS
    13.1) 什么是弹性伸缩?
        利用弹性伸缩(Auto Scaling),您可以根据业务需求和策略设置伸缩规则,在业务需求增长时自动为您增加ECS实例以保证计算本领,在业务需求下降时自动镌汰ECS实例以节流本钱。弹性伸缩不仅得当业务量不断颠簸的应用程序,同时也得当业务量稳固的应用程序。
    13.2) 弹性伸缩应用场景
        某视频公司:春晚或每周五热门节目到暂时,负载激增,需及时、自动扩展云计算资源。
        某视频直播公司:业务负载变化难以预测,必要阿里云自动根据CPU利用率、应用负载、带宽利用率作为权衡指标举行弹性伸缩。
        某游戏公司:每天中午12点及晚上6点到9点间需求增长,必要定时扩容。
        某电商:在大促中,暂时激增大量云服务器需求,必要在数分钟内实现从创建到可用。
    13.3) 弹性伸缩模式
        定时模式:您自定义自动伸缩发生的时间和频率,如每天 13:00增加 ECS 实例。
        动态模式:基于云监控性能指标(如 CPU 利用率),自动增加或镌汰 ECS 实例。
        康健模式:如 ECS 实例为非 Running 状态,弹性伸缩将自动移出或开释不康健的 ECS 实例。
    13.4) ESS弹性伸缩配置实践
        配置的流程: 配置好负载均衡-->创建伸缩组-->添加伸缩配置-->添加已有ECS实例-->启用伸缩组
        1) 创建伸缩组规则
            1.1) 添加ECS实例规则 CPU大于80%
            1.2) 镌汰ECS实例规则 CPU小于30%
        2) 弹性伸缩规则会在什么时候添加或镌汰,根据动作来触发.
            定时使命
            云上监控
        3) 模拟CPU大于百分之80% 

    Document:https://help.aliyun.com/product/25855.html?spm=a2c4g.11186623.6.540.535448595bgK6Y

14.NAT(运维)
    14.1) 内网ECS没有购买公网IP,无法上网
      方式一、firewalld实现内部主机共享上网(不推荐)
        1.购买一台ECS专门用于共享上网,必要有独立公网IP,主机名称为Manager
        2.开启Manager服务器firewalld防火墙,打开masquerade路由转发功能
        3.找到必要上网的ECS实例所在的VPC网络,添加一条路由规则,去往0.0.0.0/0 下一跳是Manager 这台ECS实例
      方式二、NAT网关实现内网共享上网    (强烈推荐)
        1.购买按量付费的NAT网关
        2.购买弹性EIP,将EIP捆绑置NAT网关
        3.配置NAT网关的SNAT路由条目,举行地址转换,最后测试连通性
        留意: NAT网关装备允许多个可用区共用一个NAT网关装备举行上网
    Document:https://help.aliyun.com/product/44413.html?spm=a2c4g.11186623.6.540.47462f2aoaZFjK
    14.2)解决内网主机无法直连的问题
        方式一、跳板机方式
        方式二、负载均衡TCP
        方式三、NAT网关端口映射( 必要额外在购买一个弹性公网IP地址 ) 
三.RDS-NAS

1.阿里云通过镜像恢复业务场景

https://i-blog.csdnimg.cn/direct/6bcf035fee8341298eebfeee57078730.png
2.阿里云VPC专用网络

https://i-blog.csdnimg.cn/direct/9de3b21d851547098265e867ada12868.jpeg
3.阿里云创建redis实例

https://i-blog.csdnimg.cn/direct/c809b3c665e2478f9d243aa5114ffdb3.jpeg
https://i-blog.csdnimg.cn/direct/317608cec97b4aeb98fa222b1faf2861.jpeg

4.阿里云REDIS集成到KOD业务

https://i-blog.csdnimg.cn/direct/8e80f4e64dd74644a487297efbba363f.jpeg
5.阿里云REDIS开释恢复业务

https://i-blog.csdnimg.cn/direct/672c1740c3db4066ae9e56d68d55695a.png
https://i-blog.csdnimg.cn/direct/489ab3c1f1b440bbb023218f653a6c94.jpeg
6.阿里云创建mysql数据库

https://i-blog.csdnimg.cn/direct/27fe7968d04a4ef3aed3f1d12e719956.jpeg
https://i-blog.csdnimg.cn/direct/63f98c9457ee4391a5aa754cfc4d25a4.jpeg

7.阿里云mysql接入KOD业务

https://i-blog.csdnimg.cn/direct/b49f390ef7124a4a845b46b9e7d5fad1.jpeg
https://i-blog.csdnimg.cn/direct/98a236f1a3fb45b798eed56bd1ef1e41.jpeg

8.阿里云公网访问mysql

https://i-blog.csdnimg.cn/direct/69ef50dfaadd4215867634d646152891.jpeg
https://i-blog.csdnimg.cn/direct/3478e4dba6d64e59a88c6780930d8973.jpeg

9.阿里云NAS服务挂载利用

https://i-blog.csdnimg.cn/direct/88e858b8646743ad8073fabf1533fd9e.jpeg
https://i-blog.csdnimg.cn/direct/727fd87d4de24fc69ffc8eea1542e51c.jpeg

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 云计算学习之Tomcat应用部署、ECS业务部署、RDS-NAS