首页 > 代码库 > 程序员的智囊库系列之1--服务器与运维
程序员的智囊库系列之1--服务器与运维
程序员的智囊库系列之1--服务器与运维
时间:2014-11-3
作者:FingerLiu
这是程序员的智囊库系列的第一个篇文章,首先讲一下服务器与运维相关的工具。我们主要介绍以下四个工具:
- puppet
- salt
- visualops
- lnmp
puppet
intro
puppet是一种Linux、Unix平台的集中配置管理系统,它能够为你的设备定义状态信息,并使你的设备保持运行在正常的状态。简单来说,是一款实现运维自动化的工具。
- 它能够自动提取设备的配置信息,从而同一个工具可以在软件交付的各个阶段使用。
- 能够使不同团队的人协同工作
- 使人和计算机分别做自己擅长的东西。
无论你是在管理几台机器,还是在管理几千台服务器和虚拟机,puppet都能够自动化的帮助系统管理员完成工作。
Linux,Unix,Mac OS X,Windows下都有puppet对应的发行版。
使用场景
它能管理file(文件),user(用户),group(组),package(软件包),mount(挂载),schedule和cron(计划任务),service(服务),tidy(清理),yumrepo(yum仓库),sshkey(ssh认证)等常用资源。
- yum仓库管理
- 用户管理
- ssh key
获得puppet
- You can likely find Puppet in your favorite Linux distro‘s package repositories.
- If you‘re using Amazon EC2, the Amazon Linux AMIbundles Puppet.
- Get the source code for open source Puppet fromGithub.
- Download packages from our Yum and APT repositories.
- Download the binaries from our website.
普通版本的puppet最多支持10台设备。如果你需要管理10台以上设备,需要购买企业版的puppet。
安装及使用教程
- 安装
- 使用教程
saltStack
intro
saltStack是快速,可扩展,灵活的系统管理软件,它能够用来实现数据中心自动化、云环境管理、服务器监控、配置管理等多项任务。saltStack经常被看做由python编写的puppet(puppet是主要由ruby编写的)的精简版。
Salt 有两个主要的功能:配置管理和远程执行。
使用场景
如你有很多台服务器而且想要操作这些服务器,你也许需要一台一台的登录这些服务器,每次作出一次操作变更。这些操作可能是相当简单的,比如重启他们或者检查他们已经运行了多久,更或者,你想要做些更复杂的事情,比如安装软件和按照你的特殊需求来配置他们,也许你只是想要增加用户并且配置他们的权限。
假如你有百十来台服务器,你应该怎么做?想象一下你每次一台一台的登陆这些服务器,执行同样的命令在这些100台的服务器中并且编辑同一个配置文件,你可以想象吗?这是多么的苦逼!仅仅更新一下用户的密码策划就要用掉数天的时间,并且你可能出现错误的操作,怎么样通过一个命令一次完成所有服务器的操作?怎么解决?答案就是,Salt Stack!
- Salt实战之自动安装部署MooseFS
- 基于SaltStack完成LVS的配置管理
- Salt配置复杂nodegroup
- 更多请参看这里
获得saltStack
Salt source releases are available for download via the following PyPI link:
https://pypi.python.org/pypi/salt
The installation document, found in the following link, outlines where to obtain packages and installation specifics for platforms:
Installation
The Salt Bootstrap project, found in the following repository, is a single shell script, which automates the install correctly on multiple platforms:
https://github.com/saltstack/salt-bootstrap
安装及使用教程
- 安装
- 配置
VisualOps
intro
All problems in computer science can be solved by another level of indirection.(所有的计算机问题都能靠引入一个中间层来解决)
VisualOps就是管理运行在AWS上的机器的一个中间层,它实现了服务器的可视化运维,有机地将Paas和IaaS结合了起来。
使用场景
VisualOps团队的开发人员称它是一个运维人员的IDE,它能够实现服务器规划,架设,购买,网络划分,防火墙配置,依赖安装,项目持续部署等几乎运维人员的所有工作-----仅仅通过在网页上拖动几个组件,在网页上编写几行简单的puppet(VisualOps在后台管理服务器的实现上,使用了puppet)配置代码。
安装及使用教程
作为云时代的产物,你需要的仅仅是一台能够联网的计算机,和一个浏览器。项目的网址是https://ide.visualops.io/
lnmp一键安装包
intro
LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。
LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RadHat、Debian/Ubuntu VPS(VDS)或独立主机安装LNMP(Nginx、MySQL、PHP、phpMyAdmin)生产环境的Shell程序。同时提供一些实用的辅助脚本如:可以帮助完成Nginx、MySQL/MariaDB、PHP的升级、常用缓存组件的安装、重置MySQL root密码、502自动重启、日志切割等许多实用脚本。
使用场景
我们为什么需要它?
编译安装需要输入大量的命令,如果是配置生产环境需要耗费大量的时间。
不会Linux的站长或Linux新手想使用Linux作为生产环境……
它有什么优势?
无需一个一个的输入命令,无需值守,编译安装优化编译参数,提高性能,解决不必要的软件间依赖,特别针对VPS用户进行了优化。
获得lnmp一键安装包
http://lnmp.org/download.html
安装及使用教程
- 安装
- lnmp状态管理命令
程序员的智囊库系列之1--服务器与运维