feature image

运维技术

21 Posts

使用ansible-role模板部署redis

JinJa2模板文件 JinJa2是一个特有的模板语言,主要作用就是能让普通的文件,能读取程序设置的变量,用模板语法,动态替换数据。 语法规则: * 配置文件必须是以.j2为后缀 * 必须放入在template目录下 * 使用的ansible模块是template模块 例如: shd_config文件是SSH服务端的配置文件,其中Port字段指明了sshd服务的链接端口号。将该字段的值替换为变量,并在vars/main.yml中配置,可以动态地修改这个变量的值。 实践:部署redis tasks/main.yml - name: 01 - install requirement apps yum: name: "{{ item }}" state: installed loop: "{{ requirements }}" - name: 02 - create data directory

Ansible Role

常规的ansible playbook,其中可能涉及到上传多份文件到远程主机,这样一来,配置文件,剧本等内容都放在一个文件夹内,非常混乱,不便于管理。 Ansible Role可以将单个剧本拆分为多个子文件,更便于维护,修改和使用。 Ansible Role介绍 role主要的作用是可以单独的通过一个有组织的结构、通过单独的目录管理如变量、文件、任务、模块、以及处理任务等,并且可以通过include导入使用这些目录。 roles主要依赖于目录的命名和摆放,默认tasks/main.yml是所有任务的人口,使用roles的过程也可以认为是目录规范化命名的过程。 roles每个目录下均由main.yml定义该功能的任务集,tasks/main.yml默认执行所有定义的任务; 配置文件 role目录被定义在ansible配置文件/etc/ansible/ansible.cfg中: [root@master-61 /etc/ansible]#cat ansible.cfg | grep roles_path #roles_path = /etc/

基于Nginx虚拟主机设置资源防盗链的简单方法

基于nginx的 valid_referer变量可以实现这一功能。 referer是http协议request header中的一个字段,这个字段可以简单的理解为“经手人”,当我们访问某个网站时,我们向这个网站的nginx web server发起了请求,请求解析完成后 nginx会将各种资源和源代码返回给客户端并进行渲染,因此,我们访问的网站可以被视为是我们访问这些静态文件的“经手人”。通过对referer进行限制,可以防止第三方对于资源的获取。 以下代码是一个例子: valid_referers *.example.com; #定义了合法的referer,二级域名为example.com的所有网站都是合法的referer if ($invalid_referer) #如果referer不合法,则 invalid_referer为1 { return 403; #返回403代码 - 无权限访问 } alias /www/wordpress/resources/image/; 使用这种方法,所有非指定的referer的访问都会被拒绝,因此,如果用

Ansible入门

Ansible是一个同时管理多个远程主机的软件(任何可以通过SSH协议登录的机器),因此Ansible可以管理远程虚拟机、物理机,也可以是本地主机(linux、windows)。 Ansible通过SSH协议实现管理节点、远程节点的通信。 ansible作为运维自动化的核心软件之一,可以让我们把双手从机械性的重复劳动中解放出来,简单快捷的管理大量主机。 Ansible的安装和部署 安装Ansible软件 配置好了软件源后可以使用一条命令安装: yum install ansible libselinux-python -y 查看Ansible版本 ansible --version ansible 2.9.27 config file = /etc/ansible/ansible.cfg configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/

Raid磁盘冗余阵列

RAID,全称为Redundant Arrays of Independent Drives,即磁盘冗余阵列,是由多块独立磁盘(多为硬盘)组合的一个超大容量磁盘组。根据不同的RAID级别,可以实现不同的功能。 Raid级别 Raid 0 将两个或两个以上相同型号、容量的硬盘组合,磁盘阵列的总容量便是多个硬盘的总和。 Raid 0特点 * 至少需要两块磁盘 * 数据条带化分布到磁盘,高读写性能,100%存储空间利用率 * 数据没有冗余策略,一块磁盘故障,数据将无法恢复 * 适合对数据安全性需求不高的应用场景 条带化技术 条带化技术就是一种自动的将 I/O 的负载均衡到多个物理磁盘上的技术,磁盘条带化是指利用条带化技术就是将一块连续的数据分成很多小部分并把它们分别存储到不同磁盘上去。 RAID 0 级别下,数据以此写入到两块磁盘之中,理想状态下,读写性能会翻倍,性能大于单个硬盘。但是raid 0 任意一块硬盘故障都会导致整个系统数据被破坏,数据分别写入两个硬盘设备,没有数据备份的功能。 Raid 1 由于raid