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

麻将网站开发公司wordpress+移动客户端

麻将网站开发公司,wordpress+移动客户端,ui设计学校,VM2008 做网站目录 一、回顾 1、mysql和python 1. mysql5.7 2. 可以使用pymysql非交互的管理mysql 2、mycat中间件 1. 独属于mysql主从的负载均衡策略 2.配置写主读从 3. 步骤 3.1 安装jdk 3.2 mycat 3.3 配置 3.4 启动和调试 二、运维自动化#xff08;ansible#xff09; 1、任务背…目录 一、回顾 1、mysql和python 1. mysql5.7 2. 可以使用pymysql非交互的管理mysql 2、mycat中间件 1. 独属于mysql主从的负载均衡策略 2.配置写主读从 3. 步骤 3.1 安装jdk 3.2 mycat 3.3 配置 3.4 启动和调试 二、运维自动化ansible 1、任务背景 2、任务拆解 3、学习目标 三、认识自动化运维 1、问题: 2、自动化运维主要关注的方面 3、常见的开源自动化运维工具比较 1. puppet(拓展) 2. saltstack(拓展) 3. ansible 四、ansible 1、坏境 2、在m0安装ansible搭建四台机器 m0 s0 s1 s2 3、实现master对agent的免密登录s0 和s1 4、在master上定义主机组并测试连接 练习 五、ansible模块 1、查看所有支持模块 2、查看所有ping模块 3、hostname模块用于修改主机名 4、file模块(重点) 5、stat模块了解  6、copy模块 1copy模块 2使用content参数远程给文件里写入内容会覆盖原内容 3使用force参数控制是否强制覆盖 4使用backup参数控制是否备份文件 5copy模块拷贝时要注意拷贝目录后面是否带/符号 7、 fetch模块 8、user模块 9、group模块 10、cron模块 11、yum_repository模块 12、yum模块重点 13、service模块重点 14、command与shell模块 一、回顾 1、mysql和python 1. mysql5.7 1.1 不需要执行mysql_ssl_rsa_setup 1.2 Change_master_to. 不需要get public key 2. 可以使用pymysql非交互的管理mysql 2.1 connpymysql.connect(host,user,password,database,port) 2.2 cursorconn.cursor() 2.3 cursor.execute(create user...) 2.4 cursor.execute(grant 权限 on 库.表 to 用户) 2.5 conn.commit() 2.6 cursor.fetchall() 2、mycat中间件 1. 独属于mysql主从的负载均衡策略 2.配置写主读从 3. 步骤 3.1 安装jdk tar -xf jdk_8u192.tar.gz cp jdk/ /usr/local/jdk sed -i $aexport JAVA_HOME/usr/local/jdk /etc/profile sed -i $aexport PATH$PATH:$JAVA_HOME:/bin /etc/profile source /etc/profile javac -version 3.2 mycat tar -xf MyCat.tar.gz cp -r mycat/ /usr/local/ #测试启动 /usr/local/mycat/bin/mycat console       //用控制台打印 3.3 配置 1 server.xml   user nameblt defaultAccounttrueproperty namepasswordblt/propertyproperty nameschemastest/property!--user nameuserproperty namepassworduser/propertyproperty nameschemasTESTDB/propertyproperty namereadOnlytrue/property/user -- 2 schema.xml schema nametest dataNodedn1 checkSQLschemafalse sqlMaxLimit100/schemadataNode namedn1 dataHostlocalhost1 databasetest /writeHost hosthostM1 url192.168.8.150:3306 userbltpasswordbltreadHost hosthostS2 url192.168.8.151:3310 userblt passwordblt //writeHost 3.4 启动和调试 1/usr/local/mycat/bin/mycat start (2) netstat -lnput | grep 8066 (3) mysql -hmycat的ip或者域名 -P8066 -userver.xml中填入账号 -p在service.xml中填入的密码 4 cat /usr/local/mysql/logs/wrapper.log 1. cause by....  二、运维自动化ansible 1、任务背景 公司的服务器越来越多,维护一些简单的事情都会变得很繁琐。用shell脚本来管理少量服务器效率还行,服务器多了之后,shell脚本无法实现高效率运维。这种情况下,我们需要引入自动化运维工具,对多台服务器实现高效运维。 2、任务拆解 1. 需要一台服务器做管理端,来连接管理所有的应用服务器 2. 考虑如果只针对一部分应用服务器进行运维操作如何实现(服务器分组) 3. 学会将平台烂熟于心的linux操作命令转化为自动化运维的方式(常见模块的学习) 4. 如果操作非常的冗长,学会使用playbook和role的方式来管理 3、学习目标 能够安装ansible服务器和客户端 能够定义ansible主机清单进行服务器分组 能够使用hostname模块修改主机名 能够使用file模块做基本的文件操作 能够使用copy模块把文件拷贝到远程机器 能够使用fetch模块把文件从远程拷贝到本地 能够使用user模块管理用户 能够使用group模块管理用户组 能够使用cron模块管理时间任务 能够使用yum_repository模块配置yum 能够使用yum模块安装软件包 能够使用service模块控制服务的启动,关闭,开机自启动 能够使用script模块在远程机器上执行本地脚本 能够使用command与shell模块远程执行命令 能够编写playbook实现httpd 三、认识自动化运维 1、问题: 假设我要去1000台服务上做一个操作(如nginx服务器修改配置文件里的某一个参数),下面两种方法缺点明显: 1. 按传统的方法,一台连着一台服务器的ssh上去手动操作。         缺点: 效率太低。 2. 写个shell脚本来做。         缺点:                 1. 管理的机器平台不一致,脚本可能不具备通用性。                 2. 传密码麻烦(在非免密登录的环境下,需要expect来传密码)                 3. 效率较低,循环1000次也需要一个一个的完成,如果用符放到后台执行,则会产生1000个进程。 自动化运维:将日常IT运维中大量的重复性工作,小到简单的日常检查、配置变更和软件安装,大到整个变更流程的组织调度,由过去的手工执行转为自动化操作,从而减少乃至消除运维中的延迟,实现“零延时”的IT运维。 2、自动化运维主要关注的方面 假如管理很多台服务器,主要关注以下几个方面: 1. 管理机与被管理机的连接(管理机如何将管理指令发送给被管理机) 2. 服务器信息收集(如果被管理的服务器有centos7.5外还有其它 linux发行版,如suse,ubuntu等。当你要做的事情在不同OS上有所 不同,你需要收集信息,并将其分开处理) 3. 服务器分组(因为有些时候我要做的事情不是针对所有服务器,可 能只针对某一个分组) 4. 管理内容的主要分类         4.1 文件目录管理(包括文件的创建,删除,修改,查看状态,远程拷贝等)         4.2 用户和组管理         4.3 cron时间任务管理         4.4 yum源配置与通过yum管理软件包         4.5 服务管理         4.6 远程执行脚本         4.7 远程执行命令 3、常见的开源自动化运维工具比较 1. puppet(拓展) 基于ruby语言,成熟稳定。适合于大型架构,相对于ansible和saltstack会复杂些。 2. saltstack(拓展) 基于python语言。相对简单,大并发能力比ansible要好,需要维护被管理端的服务。如果服务断开,连接就会出问题。 3. ansible 基于python语言。简单快捷,被管理端不需要启服务。直接走ssh协议,需要验证所以机器多的话速度会较慢。 四、ansible 1、坏境 m0           192.168.1.67    管理机 s1             192.168.1.68    被管理 s2             192.168.1.69    被管理 s3             192.168.1.70    被管理 2、在m0安装ansible搭建四台机器 m0 s0 s1 s2 [rootm0 ~]# yum -y install epel-release [rootm0 ~]# yum -y install ansible [rootm0 ~]# ansible --version ansible 2.9.27 [rootm0 ~]# find /etc/ -name *ansible* /etc/ansible /etc/ansible/ansible.cfg 3、实现master对agent的免密登录s0 和s1 [rootm0 ~]# ssh -keygen [rootm0 ~]# ls ./.ssh/ id_rsa  id_rsa.pub [rootm0 ~]# cat ./.ssh/id_rsa.pub [rootm0 ~]# ssh-copy-id -i 192.168.8.157 [rootm0 ~]# ssh-copy-id -i 192.168.8.158 4、在master上定义主机组并测试连接 [rootm0 ~]# vim /etc/ansible/hosts    //写两个组01组两个都是做免密的02组两个免密一个没做免密 [group01] 192.168.1.68 192.168.1.69[group02] 192.168.1.68 192.168.1.69 192.168.1.70 [rootm0 ~]# ansible 192.168.1.68 -m ping    //ping1.68主机 192.168.1.68 | SUCCESS {ansible_facts: {discovered_interpreter_python: /usr/bin/python}, changed: false, ping: pong } [rootm0 ~]# ansible group01 -m ping       //ping  group01组1.681.69 192.168.1.68 | SUCCESS {ansible_facts: {discovered_interpreter_python: /usr/bin/python}, changed: false, ping: pong } 192.168.1.69 | SUCCESS {ansible_facts: {discovered_interpreter_python: /usr/bin/python}, changed: false, ping: pong } [rootm0 ~]# ansible group02 -m ping     //pinggroup02组没有做免密的s3没有成功 The authenticity of host 192.168.1.70 (192.168.1.70) cant be established. ECDSA key fingerprint is SHA256:vcks5uGmemwyxNBSF54XWNYY0tCzHAh/OP4IJPQeSFI. ECDSA key fingerprint is MD5:83:fe:4f:99:f8:7a:a1:9c:fb:94:c4:e3:81:3c:e2:a8. Are you sure you want to continue connecting (yes/no)? yes 192.168.1.68 | SUCCESS {ansible_facts: {discovered_interpreter_python: /usr/bin/python}, changed: false, ping: pong } 192.168.1.69 | SUCCESS {ansible_facts: {discovered_interpreter_python: /usr/bin/python}, changed: false, ping: pong } 192.168.1.70 | UNREACHABLE! {changed: false, msg: Failed to connect to the host via ssh: Warning: Permanently added 192.168.1.70 (ECDSA) to the list of known hosts.\r\nPermission denied (publickey,gssapi-keyex,gssapi-with-mic,password)., unreachable: true } 没有免密登陆的用户可以指定用户名和密码可以利用别名来传递端口密码 [rootm0 ~]# vim /etc/ansible/hosts  [group01] 192.168.1.68 192.168.1.69other ansible_ssh_host192.168.1.70 ansible_ssh_port22 ansible_ssh_userroot ansible_ssh_passq[group02] 192.168.1.68 192.168.1.69 other [rootm0 ~]# ansible group02 -m ping     //三台都ping成功了 192.168.1.69 | SUCCESS {ansible_facts: {discovered_interpreter_python: /usr/bin/python}, changed: false, ping: pong } 192.168.1.68 | SUCCESS {ansible_facts: {discovered_interpreter_python: /usr/bin/python}, changed: false, ping: pong } other | SUCCESS {ansible_facts: {discovered_interpreter_python: /usr/bin/python}, changed: false, ping: pong } 可以直接ping别名 [rootm0 ~]# ansible other -m ping     //单独ping  other1.70也是可以成功的 other | SUCCESS {ansible_facts: {discovered_interpreter_python: /usr/bin/python}, changed: false, ping: pong } 练习 不论你⽤哪种环境(免密或不免密端⼝是否22, 请最终将两台被管理机器加⼊到group1组即可 [rootm0 ~]# vim /etc/ansible/hosts  web01 ansible_ssh_host192.168.1.68 ansible_ssh_port22 ansible_ssh_userroot ansible_ssh_passq web02 ansible_ssh_host192.168.1.69 ansible_ssh_port22 ansible_ssh_userroot ansible_ssh_passq [group01] web01 web02 [rootm0 ~]# ansible group01 -m ping web02 | SUCCESS {ansible_facts: {discovered_interpreter_python: /usr/bin/python}, changed: false, ping: pong } web01 | SUCCESS {ansible_facts: {discovered_interpreter_python: /usr/bin/python}, changed: false, ping: pong } 五、ansible模块 ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。 ansible支持的模块非常的多,我们并不需要把每个模块都记住,而只需要熟悉一些常见的模块,其它的模块在需要用到时再查询即可。 1、查看所有支持模块 [rootm0 ~]# ansible-doc -l   官⽹模块⽂档地址: https://docs.ansible.com/ansible/latest/modules /list_of_all_modules.html 2、查看所有ping模块 [rootm0 ~]# ansible-doc ping 3、hostname模块用于修改主机名 [rootm0 ~]# ansible group02 -m hostname -a nameab.tdr.tds    //三台主机的名字都被改成了ab.tdr.tds 4、file模块(重点) ——用于对文件相关的操作(创建,删除,软硬钟接等) # path        文件的地址 # state        方法 # directory 创建目录 # touch         创建文件 # absent         删除文件 # link                创建软链接 # hard        创建硬链接 # recurse        允许递归操作 # src        文件源 [rootm0 ~]# ansible group01 -m file -a path/tmp/abc statedirectory     //三台主机都被创建了abc目录 [rootm0 ~]# ansible group02 -m file -a path/tmp/abc recurseyes ownerbin groupdaemon mode1777       //给属性 [rootm0 ~]# ansible group02 -m file -a path/tmp/abc stateabsent  //删除这三台机子的/tmp/abc目录 [rootm0 ~]# ansible group02 -m file -a path/tmp/aaa statetouch ownerbin groupdaemon mode1777   //创建文件并给属性 [rootm0 ~]# ansible group02 -m file -a src/etc/fstab path/tmp/xxx statelink        //创建一个软链接 [rootm0 ~]# ansible group02 -m file -a src/etc/fstab path/tmp/xxx2 statehard          //创建一个硬链接 5、stat模块了解  [rootm0 ~]# ansible group02 -m stat -a path/etc/fstab 6、copy模块 copy模块用于对文件的远程拷贝操作(如把本地的文件拷贝到远程的机器上) 1copy模块 [rootm0 ~]# ls mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz [rootm0 ~]# mv mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz my57.tar.gz [rootm0 ~]# ls my57.tar.gz [rootm0 ~]# ansible group02 -m copy -a src./mysql57.tar.gz dest~                                                               //把文件mysql57.tar.gz传到另外三台主机的家(~)目录下 [roots0 ~]# ls my57.tar.gz 2使用content参数远程给文件里写入内容会覆盖原内容 [rootm0 ~]# ansible group02 -m copy -a contentwo ha ha ha dest~/a.sh   注意ansible中-a后⾯的参数⾥也有引号时记得要单引双引交叉使⽤如果都为双引或单引会出现问题 [roots0 ~]# ls  test [roots0 ~]# cat test wo ha ha ha 3使用force参数控制是否强制覆盖 如果目标文件已经存在,则不覆盖 [rootm0 ~]# ansible group1 -m copy -a src/tmp/222 dest/tmp/333 forceno 如果目标文件已经存在,则会强制覆盖 [rootm0 ~]# ansible group1 -m copy -a src/tmp/222 dest/tmp/333 forceyes 4使用backup参数控制是否备份文件 [rootm0 ~]# ansible group02 -m copy -a contentwo ha ha ha dest~/a.sh backupyes                      //backupyes表示如果拷⻉的⽂件内容与原内容不⼀样则会备份⼀份group1的机器上会将~/a.sh备份⼀份备份⽂件命名加上时间再远程拷⻉新的⽂件为~/a.sh [rootab ~]# ls anaconda-ks.cfg  a.sh  a.sh.14315.2024-08-1615:29:28~  mysql57.tar.gz  s.sh  x.sh [rootab ~]# cat a.sh wo ha ha ha[rootab ~]# cat a.sh.14315.2024-08-1615\:29\:28~  wo ha ha ha[rootab ~]#  5copy模块拷贝时要注意拷贝目录后面是否带/符号 [rootm0 ~]# ansible group02 -m copy -a src/etc/yum.repos.d dest/etc/yum.repos.d/ backupyes                                                                                            //同步整个目录——/etc/yum.repos.d后⾯不带/符号则表示把/etc/yum.repos.d整个⽬录拷⻉到/tmp/⽬录下 [rootm0 ~]# ansible group02 -m copy -a src/etc/yum.repos.d/ dest/etc/yum.repos.d/ backupyes                                                                                     //同步目录下的内容——/etc/yum.repos.d/后⾯带/符号则表示把/etc/yum.repos.d/⽬录⾥的所有⽂件拷⻉到/tmp/⽬录下 7、 fetch模块 fetch模块与copy模块类似但作⽤相反。⽤于把远程机器的⽂件拷贝到本地。 [rootm0 ~]# ansible group02 -m fetch -a src/etc/sysconfig/network-scripts/ifcfg-ens33 dest/tmp [rootm0 ~]# tree /tmp                            //树状查看 /tmp ├── 192.168.1.68 │   └── etc │       └── sysconfig │           └── network-scripts │               └── ifcfg-ens33 ├── 192.168.1.69 │   └── etc │       └── sysconfig │           └── network-scripts │               └── ifcfg-ens33 ├── other │   └── etc │       └── sysconfig │           └── network-scripts │               └── ifcfg-ens33 8、user模块 user模块⽤于管理⽤户账号和⽤户属性。 [rootm0 ~]# ansible group02 -m user -a nameaaaa statepresent                                                                                       //创建aaa⽤户,默认为普通⽤户,创建家⽬录 [rootm0 ~]# ansible group02 -m user -a namemysql statepresent systemyes shell/sbin/nologin                                                                  //创建mysql系统⽤户,并且登录shell环境为/sbin/nologin [rootm0 ~]# ansible group02 -m file -a path/usr/local/mysql statedirectory                                                                                                                                                  //创建目录 [rootm0 ~]# ansible group02 -m file -a path/usr/locall/mysql/mysql-file statetouch ownermysql groupmysql mode1777                                                                                                             //创建文件并指定它的属主属组权限 [rootm0 ~]# ansible group02 -m user -a nameabc statepresent uid1999 passwordabc                                                                                                            //创建abc用户指定uid和密码 [rootm0 ~]# ansible group2 -m user -a namehadoop generate_ssh_keyyes                                                                       //创建⼀个普通⽤户叫hadoop,并产⽣空密码密钥对 [rootm0 ~]# ansible group02 -m user -a nameaaaa stateabsent                                                                                              //删除aaaa⽤户,但家⽬录默认没有删除 [rootm0 ~]# ansible group02 -m user -a namebbbb stateabsent removeyes                                            //删除bbb⽤户,使⽤removeyes参数让其删除⽤户的同时也删除家⽬录 9、group模块 group模块⽤于管理⽤户组和⽤户组属性。 [rootm0 ~]# ansible group1 -m group -a namegroupa gid3000 statepresent    //创建组 [rootm0 ~]# ansible group1 -m group -a namegroupa stateabsent             //删除组如果有⽤户的gid为此组则删除不了) 10、cron模块 cron模块⽤于管理周期性时间任务 [rootm0 ~]# ansible group1 -m cron -a nametest cron1 userroot jobtouch /tmp/111 minute*/2      //创建⼀个cron任务,不指定user的话,默认就是root如果minute,hour,day,month,week不指定的话默认都为* [rootm0 ~]# ansible group1 -m cron -a nametest cron1 stateabsent          //删除cron任务 11、yum_repository模块 ⽤于配置yum仓库 [rootm0 ~]# ansible group1 -m yum_repository -a namelocal descriptionlocalyum baseurlfile:///mnt/ enabledyes gpgcheckno                  //增加⼀个/etc/yum.repos.d/local.repo配置⽂件 [rootm0 ~]# ansible group1 -m yum_repository -a namelocal stateabsent        //删除/etc/yum.repos.d/local.repo配置⽂件 12、yum模块重点 yum模块⽤于使⽤yum命令来实现软件包的安装与卸载。 [rootm0 ~]# ansible group1 -m yum -a namevsftpd statepresent         //使⽤yum安装⼀个软件前提:group1的机器上的yum配置都已经好 [rootm0 ~]# ansible group1 -m yum -a namehttpd,httpd-devel statelatest             //使⽤yum安装httpd,httpd-devel软件,statelatest表示安装最新版本 [rootm0 ~]# ansible group1 -m yum -a namehttpd,httpd-devel stateabsent            //使⽤yum卸载httpd,httpd-devel软件 13、service模块重点 service模块⽤于控制服务的启动,关闭,开机⾃启动等。 [rootm0 ~]# ansible group1 -m service -a namevsftpd statestarted enabledon     //启动vsftpd服务并设为开机⾃动启动 [rootm0 ~]# ansible group1 -m service -a namevsftpd statestopped enabledfalse         //关闭vsftpd服务并设为开机不⾃动启动 14、command与shell模块 两个模块都是⽤于执⾏linux命令的,这对于命令熟悉的⼯程师来说⽤起来⾮常爽。 shell模块与command模块差不多command模块不能执⾏⼀些类似$HOME,,,|等符号但shell可以) 注意: shell模块并不是百分之百任何命令都可以,⽐如vim或ll别名就不可以。
http://www.w-s-a.com/news/635234/

相关文章:

  • 织梦网站地图怎么做腾讯网站开发语言
  • 站长之家alexa排名wordpress html 标签
  • WordPress建站主机推荐工程公司的经营范围
  • 做网站要注意哪一点网站需求分析的重要
  • 设计作品网站怎么开网站
  • 上海网站开发制作建设网站的建设费用包括
  • 上海网站建设网站开发亚洲杯篮球直播在什么网站
  • 网站做seo第一步h5制作公司
  • 软件外包产业网络优化工程师是干嘛的
  • 怎么用服务器做局域网网站河西网站建设
  • 工业企业网站建设企业门户网站解决方案
  • 网站运营与管理论文网上商城都有哪些
  • 常德网站制作建设毕设电商网站设计
  • 西安企业模板建站福州+网站建设+医疗
  • 邹城市住房和建设局网站仙居网站建设贴吧
  • 为什么要用CGI做网站网站手机优化显示
  • 做袜子娃娃的网站做网站要学的东西
  • 类qq留言网站建设企业做网站公司
  • 如何查到网站建设三足鼎立小程序开发公司
  • 交互网站怎么做的wordpress ssl 错位
  • 公司宣传 如何做公司网站郑州做网站那
  • 衡阳市城乡建设协会官方网站免费游戏网站模板
  • 小程序怎么做优惠券网站合肥建站网站平台
  • 民制作网站价格株洲企业seo优化
  • 网站建设 岗位职责网站建设百度索引
  • 网站建设的内容下拉网站导航用ps怎么做
  • 怎样做p2p网站海口免费自助建站模板
  • 给企业建设网站的流程图wordpress 添加子菜单
  • 企业网站带新闻发布功能的建站皋兰县建设局网站
  • 国内外做gif的网站wordpress数据库教程