当前位置: 首页 > news >正文

建设网站需要营业执照吗苏州最大的网站

建设网站需要营业执照吗,苏州最大的网站,jsp开发网站开发源码,顺企网官网登录一#xff0c;ansible是一种由Python开发的自动化运维工具#xff0c;集合了众多运维工具#xff08;puppet、cfengine、chef、func、fabric#xff09;的优点#xff0c;实现了批量系统配置、批量程序部署、批量运行命令等功能 二#xff0c;特点 * 部署简单 * **默认…一ansible是一种由Python开发的自动化运维工具集合了众多运维工具puppet、cfengine、chef、func、fabric的优点实现了批量系统配置、批量程序部署、批量运行命令等功能 二特点 * 部署简单 * **默认使用ssh进行管理基于python里的paramiko模块开发** * 管理端和被管理端不需要启动服务 * 配置简单功能强大扩展性强 * 能过playbook(剧本)进行多个任务的编排 三ansible搭建 实验准备三台机器一台管理机 192.168.115.3两台被管理机 192.168.115.4 192.168.115.5 #所有主机都要配置主机名和 hosts文件 [roothd1 ~]# hostnamectl set-hostname hd1 [roothd1 ~]# cat /etc/hosts 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.1.11 hd1 192.168.1.12 hd2 192.168.1.13 hd3 #hd2和hd3 同上类似操作 关闭防火墙, selinux 时间同步 下载更新epel源 yum -y install epel-release   管理机上安装ansible被管理节点必须打开ssh服务 yum install epel-release yum install ansible 查看版本ansible --version 实现master对agent的免密登录只在master上做。(如果这一步不做则在后面操作agent时都要加-k参数传密码;或者在主机清单里传密码 ssh-keygen ssh-copy-id   192.168.115.4      192.168.115.5 在master上定义主机组,并测试连接性 vim /etc/ansible/hosts  ansible -m ping group1 查看支持的模块 ansible-doc -l hostname模块配置 hostname模块用于修改主机名注意: 它不能修改/etc/hosts文件) 将其中一远程机器主机名修改为agent1 ansible 192.168.115.4 -m hostname -a nameagent1 基本格式为: ansible 操作的机器名或组名 -m 模块名 -a 参数1值1 参数2值2 argment 测试完改回hd2 file模块 file模块用于对文件相关的操作(创建, 删除, 软硬链接等) 创建一个目录 ansible group1 -m file -a path/test statedirectory 创建一个文件 ansible group1 -m file -a path/test/111 statetouch 递归修改owner,group,mode ansible group1 -m file -a path/test recurseyes ownerbin groupdaemon mode1777 测试完改回777权限 删除目录 absent 缺席的连同目录里的所有文件) ansible group1 -m file -a path/test stateabsent 创建文件并指定owner,group,mode等 ansible group1 -m file -a path/tmp/111 statetouch ownerbin groupdaemon mode777 删除文件 ansible group1 -m file -a path/tmp/111 stateabsent 创建软链接文件 ansible group1 -m file -a src/etc/fstab path/tmp/fstab statelink 创建硬链接文件 ansible group1 -m file -a src/etc/fstab path/tmp/fstab2 statehard copy模块 copy模块用于对文件的远程拷贝操作如把本地的文件拷贝到远程的机器上) 在master上准备一个文件拷贝此文件到group1的所有机器上 echo master /tmp/222 ansible group1 -m copy -a src/tmp/222 dest/tmp/333 使用content参数直接往远程文件里写内容会覆盖原内容 ansible group1 -m copy -a contentha ha\n dest/tmp/333注意:ansible中-a后面的参数里也有引号时记得要单引双引交叉使用如果都为双引会出现问题 使用force参数控制是否强制覆盖 先在hd2 hd3里创建文件  touch /tmp/444 如果目标文件已经存在则不覆盖 ansible group1 -m copy -a src/tmp/222 dest/tmp/444 forceno如果目标文件已经存在则会强制覆盖 ansible group1 -m copy -a src/tmp/222 dest/tmp/444 forceyes 使用backup参数控制是否备份文件 backupyes表示如果拷贝的文件内容与原内容不一样则会备份一份 group1的机器上会将/tmp/333备份一份备份文件命名加上时间再远程拷贝新的文件为/tmp/333 ansible group1 -m copy -a src/etc/fstab dest/tmp/333 backupyes ownerdaemon groupdaemon mode777 copy模块拷贝时要注意拷贝目录后面是否带/符号 /etc/yum.repos.d后面不带/符号则表示把/etc/yum.repos.d整个目录拷贝到/tmp/目录下 ansible group1 -m copy -a src/etc/yum.repos.d dest/tmp//etc/yum.repos.d/后面带/符号则表示把/etc/yum.repos.d/目录里的所有文件拷贝到/tmp/目录下 ansible group1 -m copy -a src/etc/yum.repos.d/ dest/tmp/ 练习: 在master上配置好所有的yum源然后拷贝到group1的远程机器上要求目录内的内容完全一致) master上配置yum源 ansible group1 -m file -a path/etc/yum.repos.d/ stateabsent 删除hd2 hd3上的/etc/yum.repos.d目录ansible group1 -m copy -a src/etc/yum.repos.d dest/etc/ 把hd1上的目录拷贝到hd2 hd3 hd2 hd3查看 练习: 使用hostname模块修改过主机名后.在master上修改/etc/hosts文件并拷贝到group1的远程机器上 先删除hd2 hd3的hosts文件在master上修改好/etc/hosts文件然后使用下面命令拷贝过去覆盖 ansible group1 -m copy -a src/etc/hosts dest/etc/hosts 客户端查看 user模块 user模块用于管理用户账号和用户属性。 创建aaa用户,默认为普通用户,创建家目录 ansible group1 -m user -a ‘nameaaa statepresent’ 创建bbb系统用户,并且登录shell环境为/sbin/nologin ansible group1 -m user -a ‘namebbb statepresent systemyes shell/sbin/nologin’ 创建ccc用户, 使用uid参数指定uid, 使用password参数传密码 echo 123456 | openssl passwd -1 -stdin $1$1a.g59z9$kfIxvDIvOq0g20Sd2XMib0​ 下一句命令注意一下格式密码要用双引号引起来单引号的话验证时会密码不正确 ansible group1 -m user -a nameccc uid2000 statepresent password$1$1a.g59z9$kfIxvDIvOq0g20Sd2XMib0 创建一个普通用户叫hadoop,并产生空密码 密钥对 ansible group1 -m user -a namehadoop generate_ssh_keyyes 删除aaa用户,但家目录默认没有删除 ansible group1 -m user -a nameaaa stateabsent 删除bbb用户,使用removeyes参数让其删除用户的同时也删除家目录 ansible group1 -m user -a namebbb stateabsent removeyes group模块 group模块用于管理用户组和用户组属性。 创建组 ansible group1 -m group -a namegroupa gid3000 statepresent 删除组如果有用户的gid为此组则删除不了) ansible group1 -m group -a namegroupa stateabsent cron模块 cron模块用于管理周期性时间任务 创建一个cron任务,不指定user的话,默认就是root因为我这里是用root操作的)。 如果minute,hour,day,month,week不指定的话默认都为* ansible group1 -m cron -a nametest cron1 userroot jobtouch /tmp/111 minute*/2 删除cron任务 ansible group1 -m cron -a nametest cron1 stateabsent yum_repository模块 yum_repository模块用于配置yum仓库。 增加一个/etc/yum.repos.d/local.repo配置文件 ansible group1 -m yum_repository -a namelocal descriptionlocalyum baseurlfile:///mnt/ enabledyes gpgcheckno 注意此模块只帮助配置yum仓库,但如果仓库里没有软件包安装一样会失败。所以可以手动去挂载光驱到/mnt目录 # mount /dev/cdrom /mnt 删除/etc/yum.repos.d/local.repo配置文件 ansible group1 -m yum_repository -a namelocal stateabsent yum模块(重点) yum模块用于使用yum命令来实现软件包的安装与卸载。 使用yum安装一个软件前提:group1的机器上的yum配置都已经OK ansible group1 -m yum -a namevsftpd statepresent 使用yum安装httpd,httpd-devel软件,statelatest表示安装最新版本 ansible group1 -m yum -a namehttpd,httpd-devel statelatest 使用yum卸载httpd,httpd-devel软件 ansible group1 -m yum -a namehttpd,httpd-devel stateabsent service模块(重点) service模块用于控制服务的启动,关闭,开机自启动等。 启动vsftpd服务并设为开机自动启动 ansible group1 -m service -a namevsftpd statestarted enabledon 关闭vsftpd服务并设为开机不自动启动 ansible group1 -m service -a namevsftpd statestopped enabledfalse 练习: 在group1的被管理机里的mariadb里创建一个abc库 mysql -e userroot password123456 create database abc ; 练习: 假设我主机清单里定义的group1里有多台机器它们现在要做一个集群。此集群要求实现一个名为hadoop的普通用户之间的两两免密登录如何实现(要求只在master上进行操作)? ​ script模块 script模块用于在远程机器上执行本地脚本。 在master上准备一个脚本 master# vim /tmp/1.sh #!/bin/bash mkdir /tmp/haha touch /tmp/haha/{1..10} ​ 在group1的远程机器里都执行master上的/tmp/1.sh脚本此脚本不用给执行权限) ansible group1 -m script -a /tmp/1.sh 扩展: 使用shell脚本实现在group1的被管理机里的mariadb里创建一个abc库 #!/bin/bash ​ yum install mariadb-server -y   /dev/null ​ systemctl start mariadb systemctl enable mariadb ​ mysql EOF create database abc; quit EOF ​ 把上面的脚本使用script模块在group1被管理机里执行即可 command与shell模块 两个模块都是用于执行linux命令的,这对于命令熟悉的工程师来说用起来非常high。 shell模块与command模块差不多command模块不能执行一些类似$HOME,,,|等符号但shell可以) ansible.builtin.command module – Execute commands on targets — Ansible Documentation ansible.builtin.shell module – Execute shell commands on targets — Ansible Documentation master# ansible -m command group1 -a useradd user2 master# ansible -m command group1 -a id user2 ​ master# ansible -m command group1 -a cat /etc/passwd |wc -l --报错 master# ansible -m shell group1 -a cat /etc/passwd |wc -l --成功 ​ master# ansible -m command group1 -a cd $HOME;pwd   --报错 master# ansible -m shell  group1 -a cd $HOME;pwd   --成功 注意: shell模块并不是百分之百任何命令都可以,比如vim或ll别名就不可以。不建议大家去记忆哪些命令不可以大家只要养成任何在生产环境里的命令都要先在测试环境里测试一下的习惯就好。 三、playbook playbook(剧本): 是ansible用于配置,部署,和管理被控节点的剧本。用于ansible操作的编排。 参考:Ansible playbooks — Ansible Documentation 使用的格式为yaml格式saltstack,elk,docker,docker-compose,kubernetes等也都会用到yaml格式) YMAL格式 以.yaml或.yml结尾 文件的第一行以 ---开始表明YMAL文件的开始(可选的) 以#号开头为注释 列表中的所有成员都开始于相同的缩进级别, 并且使用一个 - 作为开头(一个横杠和一个空格) 一个字典是由一个简单的 键: 值 的形式组成(这个冒号后面必须是一个空格) 注意: 写这种文件不要使用tab键都使用空格 参考: YAML Syntax — Ansible Documentation 下面看一个官方的示例感受一下 --- # 一位职工记录 name: Example Developer job: Developer skill: Elite employed: True foods:- Apple- Orange- Strawberry- Mango languages:ruby: Elitepython: Elitedotnet: Lame playbook实例 先直接来看一个实例 第1步: 创建一个存放playbook的目录(路径自定义) master# mkdir /etc/ansible/playbook 第2步: 准备httpd配置文件,并修改成你想要的配置 master# yum install httpd -y ​ 按需要修改你想要的配置(为了测试可以随意改动标记一下) master# vim /etc/httpd/conf/httpd.conf 第3步: 写一个playbook文件(后缀为.yml或.yaml) # vim /etc/ansible/playbook/example.yaml --- - hosts: group1remote_user: roottasks:  - name: ensure apache is at the latest version yum: namehttpd,httpd-devel statelatest- name: write the apache config file copy: src/etc/httpd/conf/httpd.conf dest/etc/httpd/conf/httpd.confnotify:- restart apache- name: ensure apache is running (and enable it at boot)service: namehttpd statestarted enabledyeshandlers: - name: restart apacheservice: namehttpd staterestarted 第4步: 执行写好的palybook 会显示出执行的过程并且执行的每一步都有ok,changed,failed等标识 执行如果有错误(failed)会回滚解决问题后直接再执行这条命令即可,并会把failed改为changed幂等性) # ansible-playbook /etc/ansible/playbook/example.yaml Playbook常见语法 hosts: 用于指定要执行任务的主机其可以是一个或多个由冒号分隔主机组. remote_user: 用于指定远程主机上的执行任务的用户. - hosts: group1 remote_user: root tasks: 任务列表, 按顺序执行任务. 如果一个host执行task失败, 整个tasks都会回滚, 修正playbook 中的错误, 然后重新执行即可. tasks:- name: ensure apache is at the latest version yum: namehttpd,httpd-devel statelatest- name: write the apache config file copy: src/etc/httpd/conf/httpd.conf dest/etc/httpd/conf/httpd.conf handlers: 类似task但需要使用notify通知调用。 不管有多少个通知者进行了notify等到play中的所有task执行完成之后handlers也只会被执行一次. handlers最佳的应用场景是用来重启服务,或者触发系统重启操作.除此以外很少用到了. notify:  - restart apache- name: ensure apache is running (and enable it at boot)service: namehttpd statestarted enabledyeshandlers:- name: restart apacheservice: namehttpd staterestarted 练习: 修改httpd的端口为8080,再执行playbook测试 variables: 变量 定义变量可以被多次方便调用 master# vim /etc/ansible/playbook/example2.yaml --- - hosts: group1remote_user: rootvars:- user: test1tasks:- name: create useruser: name{{user}} statepresent ~                                           master# ansible-playbook /etc/ansible/playbook/example2.yaml 案例: playbook编排vsftpd 写一个playbook实现 配置yum 安装vsftpd包 修改配置文件(要求拒绝匿名用户登录) 启动服务并实现vsftpd服务开机自动启动 --- - hosts: group1                 remote_user: root                     tasks:                                - name: rm yum repository      file: path/etc/yum.repos.d/ stateabsent- name: 同步master上的yum源到group1copy: src/etc/yum.repos.d dest/etc/- name: ensure vsftpd is at the latest version        yum: namevsftpd statelatest- name: write the apache config file          copy: src/etc/vsftpd/vsftpd.conf dest/etc/vsftpd/vsftpd.conf notify:                             - restart vsftpd- name: ensure vsftpd is running (and enable it at boot)service: namevsftpd statestarted enabledyeshandlers:                     - name: restart vsftpd              service: namevsftpd staterestarted playbook编排多个hosts任务 --- # ---代表开始(可选项,不写也可以) - hosts: 10.1.1.12remote_user: roottasks:- name: 创建/test1/目录file: path/test1/ statedirectory # 这里不能用---分隔,会报语法错误(后面课程玩k8s编排也写YAML文件,是可以用---来分隔段落的) - hosts: 10.1.1.13remote_user: roottasks:- name: 创建/test2/目录file: path/test2/ statedirectory ... # ...代表结束(可选项,不写也可以) 案例: 编排nfs搭建与客户端挂载 1, 在master上准备nfs配置文件 # vim /etc/exports /share  *(ro) 2, 编写yaml编排文件 # vim /etc/ansible/playbook/nfs.yml --- - hosts: 10.1.1.12remote_user: roottasks:- name: 安装nfs服务相关软件包yum: namenfs-utils,rpcbind,setup  statelatest ​- name: 创建共享目录file: path/share/ statedirectory ​- name: 同步nfs配置文件copy: src/etc/exports dest/etc/exports ​notify: restart nfs ​- name: 启动rpcbind服务,并设置为开机自启动service: namerpcbind statestarted enabledon ​- name: 启动nfs服务,并设置为开机自启动service: namenfs statestarted enabledon ​handlers:- name: restart nfsservice: namenfs staterestarted ​ - hosts: 10.1.1.13remote_user: roottasks:- name: 安装nfs客户端软件包yum: namenfs-utils statelatest ​- name: 挂载nfs服务器的共享shell: mount 10.1.1.12:/share /mnt 3, 执行playbook # ansible-playbook /etc/ansible/playbook/nfs.yaml
http://www.pierceye.com/news/8560/

相关文章:

  • 做网站的封面图片哪里才有wordpress隐秘链接
  • 深圳企业官网网站建设哪家好建立网站的步骤及费用
  • 网站建设难点是什么天门建站
  • 网站建设费应怎样做会计分录百度推广送企业网站吗
  • 网站建设需要懂什么软件诸城哪里做网站
  • 自己电脑做网站模板自己开发小程序
  • 杭州网站建设专家黑群晖架设wordpress
  • 加强学校网站建设的通知wordpress 淘宝模板怎么用
  • 海安网站开发大型网站建设基本流程
  • 有什么网站可以做免费推广平面设计高端网站
  • 企业网站设计方案连云港市海州区建设局网站
  • 做网站的得花多少钱wordpress多平台自动提交
  • 深圳福田区住房和建设局官方网站用什么网站做浏览器主页
  • 网站开发商标属于哪一类网站app微信三合一
  • 安顺网站建设公司wordpress模版侵权
  • 简述网站开发的三层架构夸克浏览器怎么打开黄
  • 专注与开发网站的北京网络公司品牌设计公司排名前十强
  • 郑州网站建设yipinpai海口网站建设好
  • 织梦做信息分类网站网站上传的工具
  • 外贸开发网站公司国产做爰全免费的视频网站
  • 济宁网站建设 企诺外国老头做中文网站
  • php可以做网站布局吗wordpress最新评论样式
  • 摄影摄像网站建设跨境电商的前景及现状
  • 为自家企业做网站做网站的公司怎么拓展业务
  • 中关村网站建设免费的wordpress采集
  • 重庆网站提示少儿编程加盟店电话
  • 网站不收录怎么解决深圳品牌做网站公司有哪些
  • 网站的系统建设方式国外外链平台
  • 个人备案网站盈利短链接生成器app
  • 免费制作二维码网站宁波市住房和城乡建设部网站