阿里云运维部署工具AppDeploy最佳实践

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

阿里云AppDeploy版是一个通过SSH实现的流式命令行工具,可用于完成应用部署和远程运维管理,其工作于python平台上,具有良好的可移植性;AppDeploy将本地应用软件上传到远端服务器,并执行用户预定义的产品部署命令。

工具当前免费下载使用,地址:

http://market.aliyun.com/products/53690006/cmgj000331.html

http://market.aliyun.com/products/53690006/cmgj000321.html

本文通过三个使用场景介绍AppDeploy:

一、高效运维管理命令

1.实时监控服务器状态

执行命令:


  
  
  1. $ adep check_status 

将得到服务器的具体信息,包括ip、route、dns、resolve、iptables、mount、disk、load等。

也可以在命令后面加具体参数查看部分信息,例如:

当前支持:ip、route、dns、resolve、iptables、mount、diskload。


  
  
  1. $ adep check_status:resolve 


  
  
  1. $ adep check_status:disk 

2.实时监控服务器带宽

在命令行执行:


  
  
  1. $ adep check_bandwidth 

将会得到下面动态数据:

其中红框内的数据分别为:

◆提示按”e”字母退出监控状态:此处注意输入格式。

◆服务器流入带宽实时数据(动态显示):分别显示KB/s 和Mb/s两中常见数据格式。

◆服务器流出带宽实时数据(动态显示):分别显示KB/s 和Mb/s两中常见数据格式。

3.文件的上传下载

通过命令行类似shell命令的方式实现:

具体操作的哪些服务器、用户名、密码信息由appdeploy.py文件定义。

文件上传命令格式:


  
  
  1. $ adep put:localfile,remoteFolder 

◆“put”、”:”、”localFile”、”,”、”remoteFolder”之间都没有空格。

◆LocalFile:本地上传文件路径及名字,RemoteFolder:上传到服务器的具体目录。

文件下载命令格式:


  
  
  1. $ adep get:remoteFile,localFolder 

◆”get”、”:”、”remoteFile”、”,”、”localFolder”之间都没有空格。

◆RemoteFile:从服务器上下载的文件名,localFolder:下载文件本地存放目录。

例如:

4.远程命令执行

通过命令行类似shell命令的方式实现:

具体操作的哪些服务器、用户名、密码信息由appdeploy.py文件定义。

命令远程执行格式:


  
  
  1. return (1xx | 2xx | 4xx | 5xx) ["text"];  
  2. $ adep run:shellCommand 

◆“run”、”:”、”shellCommand”之间都没有空格。

◆ShellCommand:指远端执行的命令,有空格时要用引号引起来。

5.一键更新服务器源

命令行输入:


  
  
  1. $ adep update_source 

可以更新服务器端的源配置,支持Ubuntu、Centos、Redhat、Opensuse、Debian等系统的多个版本源更新功能。

二、一键部署Web服务器之Mysql + Nginx + PHP

1.在appdeploy.py中输入以下定义


  
  
  1. def runtime():  
  2. componets={“nginx” : “1.4.4″,  
  3. “php” : “5.6.11″,  
  4. “mysql” : “5.6.26″  
  5.  
  6. install_runtime(componets) 

2.在命令行执行下面命令,由于全部为源码安装,安装会占用相对较长时间。


  
  
  1. $ adep runtime 

3.应用部署上线:上传您的PHP项目

下面代码表示将本地PHP项目上传到服务器:/aliyun/www/phpwind目录。


  
  
  1. def deploy_php():  
  2. put(“./php/*”, “/aliyun/www/phpwind/”) 

执行:


  
  
  1. $ adep deploy_php 

4.检验应用部署效果

三、一键部署Web服务器之JDK + Mysql + Nginx + Tomcat

1.在appdeploy.py中输入以下定义:


  
  
  1. def runtime():  
  2. componets={ “jdk” : “1.8.0″,  
  3. “nginx” : “1.4.4″,  
  4. “tomcat” : “7.0.63″,  
  5. “mysql” : “5.6.26″  
  6.  
  7. install_runtime(componets) 

2.在命令行执行下面命令,由于全部为源码安装,会占用相对较长时间。


  
  
  1. $ adep runtime 

3.应用部署:上传您的java项目

下面任务会将本地java项目编译、打包、上传到服务器(基于Maven,appdeploy会自动检测您的maven程序是否安装,若没有安装,则会自动安装),最后上传到服务器的/aliyun/server/tomcat/webapps目录。


  
  
  1. def pack_deploy():  
  2. componets={“plugin”: “maven”,  
  3. “project_dir” : “./java/myFirstWebApp”,  
  4. “web_dir” : “/aliyun/server/tomcat/webapps”  
  5.  
  6. package(componets)  
  7. deploy(componets) 

执行:


  
  
  1. $ adep pack_deploy 

4.检验应用部署效果






作者:阿里云
来源:51CTO
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
弹性计算 运维 监控
|
1月前
|
弹性计算 Ubuntu Linux
阿里云系统运维管理OOS一键安装宝塔面板,这个功能太牛了!
宝塔面板是实用的服务器管理工具,支持多种操作系统(如Ubuntu、CentOS等)。通过阿里云OOS可一键安装。安装前提包括ECS实例运行中且有公网,安全组需开放8888端口。安装步骤简单,进入ECS控制台选择预装应用并确认下单,完成后在控制台查看详情和登录信息。最后验证安装结果,确保能成功访问宝塔面板URL。
166 82
|
18天前
|
弹性计算 人工智能 运维
云产品评测|告别传统运维挑战!阿里云OS控制台引领智能管理新时代
阿里云OS控制台是专为运维人员设计的高效管理工具,旨在提升用户体验和简化操作流程。它不仅集成了OS Copilot等智能助手,还提供了系统诊断、订阅管理和AI组件等功能,支持API、SDK、CLI等多种管理方式。通过该平台,用户可以轻松纳管服务器、监控健康状态、执行故障排查,并享受针对阿里云环境优化的运维体验。整体而言,阿里云OS控制台为运维工作带来了极大的便利与效率提升。
|
2月前
|
人工智能 运维 Kubernetes
阿里云容器服务AI助手2.0 - 新一代容器智能运维能力
2024年11月,阿里云容器服务团队进一步深度融合现有运维可观测体系,在场景上覆盖了K8s用户的全生命周期,正式推出升级版AI助手2.0,旨在更好地为用户使用和运维K8S保驾护航。
|
22天前
|
存储 运维 安全
深入解析操作系统控制台:阿里云Alibaba Cloud Linux(Alinux)的运维利器
本文将详细介绍阿里云的Alibaba Cloud Linux操作系统控制台的功能和优势。
49 5
|
2月前
|
弹性计算 运维 监控
云资源运维难?阿里云免费工具来帮忙
阿里云推出免费运维工具——云服务诊断,帮助用户提升对云资源的运维效率、降低门槛、减轻负担。其核心功能包括「健康状态」和「诊断」。通过「健康状态」可实时查看云资源是否正常;「诊断」功能则能快速排查网络、配置、安全等问题,并提供修复建议,助您迅速恢复业务。体验评测活动火热进行中,参与即有机会赢取索尼头戴耳机、小米背包等好礼。活动链接:https://developer.aliyun.com/topic/cloud-health。
497 24
|
4月前
|
运维 Linux Apache
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
95 4
|
15天前
|
监控 运维
HTTPS 证书自动化运维:https证书管理系统- 自动化监控
本文介绍如何设置和查看域名或证书监控。步骤1:根据证书状态选择新增域名或证书监控,线上部署推荐域名监控,未部署选择证书监控。步骤2:查询监控记录详情。步骤3:在详情页查看每日定时检测结果或手动测试。
HTTPS 证书自动化运维:https证书管理系统- 自动化监控
|
15天前
|
Linux 持续交付 调度
HTTPS 证书自动化运维:https证书管理系统-自动化部署
本指南介绍如何部署Linux服务器节点。首先复制生成的Linux脚本命令,然后将其粘贴到目标服务器上运行。接着刷新页面查看节点记录,并点击“配置证书”选择证书以自动部署。最后,节点部署完成,后续将自动调度,无需人工干预。
HTTPS 证书自动化运维:https证书管理系统-自动化部署
|
15天前
|
运维
HTTPS 证书自动化运维:https证书管理系统之自动化签发
通过访问【https://www.lingyanspace.com】注册账户,进入证书服务菜单并新增证书。填写域名(单域名、多域名或泛域名),创建订单后添加云解析DNS记录进行质检。确认完成后可下载证书,并支持后续查看、更新和定时更新功能。证书过期前15天自动更新,需配置邮箱接收通知。
HTTPS 证书自动化运维:https证书管理系统之自动化签发

热门文章

最新文章