中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

為什么做金融網(wǎng)站犯法seo是指搜索引擎營銷

為什么做金融網(wǎng)站犯法,seo是指搜索引擎營銷,wordpress 文章代碼,包頭市做網(wǎng)站哪個Ansible部署Zabbix 前言 今年的比賽考了一道Ansible部署Zabbix的題目,要求就是用兩臺centos7.5的云主機(jī),一臺叫ansible,一臺叫node,使用對應(yīng)的軟件包,通過ansible節(jié)點(diǎn)控制node節(jié)點(diǎn)安裝zabbix服務(wù)。這道題還是算比較簡…

Ansible部署Zabbix

前言

今年的比賽考了一道Ansible部署Zabbix的題目,要求就是用兩臺centos7.5的云主機(jī),一臺叫ansible,一臺叫node,使用對應(yīng)的軟件包,通過ansible節(jié)點(diǎn)控制node節(jié)點(diǎn)安裝zabbix服務(wù)。這道題還是算比較簡單的題,不過也是有坑就是了。

Ansible 是一個開源的自動化工具,用于配置管理、應(yīng)用程序部署、任務(wù)自動化和 IT 編排,可以簡化和自動化繁瑣的運(yùn)維任務(wù)。
關(guān)于zabbix的了解和基礎(chǔ)的搭建,我在這篇文章中有講:1+X云計(jì)算運(yùn)維與開發(fā)(中級)實(shí)戰(zhàn)案例——Zabbix分布式監(jiān)控系統(tǒng)搭建_實(shí)戰(zhàn)案例——zabbix 分布式監(jiān)控系統(tǒng)-CSDN博客
不了解的可以去看看,看完你就會發(fā)現(xiàn)Ansible部署Zabbix根本沒有難點(diǎn),主要就是避坑。

虛擬機(jī)使用的是自行創(chuàng)建的CentOS7,如果你不會,那虛擬機(jī)創(chuàng)建的流程可以參考我這篇文章:職業(yè)技能大賽云計(jì)算賽項(xiàng)實(shí)戰(zhàn)——OpenStack搭建-CSDN博客
需要的鏡像Centos7.5為CentOS-7-x86_64-DVD-1804.iso,可從阿里鏡像站下載:centos-vault-7.5.1804-isos-x86_64安裝包下載_開源鏡像站-阿里云 (aliyun.com)
因?yàn)槲覜]有鏡像,也沒那么多流量下載,所以我用7.4的CentOS-7-x86_64-DVD-1708替代需要用到的軟件包:https://pan.baidu.com/s/1y9OckLD3HmIq40g_y-XYbQ?pwd=2s9q
提取碼:2s9q

我為什么說這道題坑呢,因?yàn)楫?dāng)時我還沒有想到把里面的文件搞到本地的方法,只能在他們那個平臺做這道題,題目要求用7.5的云主機(jī),而那個平臺申請的主機(jī)全是7.9的。這就導(dǎo)致在后面安裝軟件包時出現(xiàn)依賴關(guān)系錯誤,比如安裝zabbix需要php的版本為5.4.16-46,雖然在軟件包里攜帶的zabbix軟件倉庫有,但7.9的系統(tǒng)源的版本是5.4.16-48,安裝時系統(tǒng)默認(rèn)安裝更高版本的,又比如mariadb,需要的版本是5.5.56-2,但7.9的版本更高,是1:5.5.68-1,同時系統(tǒng)還默認(rèn)安裝了更高版本的mariadb-libs。最后我是通過指定7.5的系統(tǒng)源,再把mariadb-libs刪掉做出來的。
7.5的系統(tǒng)源里,php的版本是5.4.16-45,mariadb則一樣,是5.5.56-2,安裝時默認(rèn)安裝最新版本,不會影響到過程
我用7.4的替代,php的版本更低,是php-5.4.16-42,也不會影響

節(jié)點(diǎn)規(guī)劃如下:

主機(jī)名IP/24節(jié)點(diǎn)
ansible192.168.100.21ansible節(jié)點(diǎn)
node192.168.100.22node節(jié)點(diǎn)

操作過程

更改主機(jī)名

#兩個節(jié)點(diǎn)修改好主機(jī)名
[root@localhost ~]# hostnamectl set-hostname ansible
[root@localhost ~]# bash
[root@ansible ~]# [root@localhost ~]# hostnamectl set-hostname node
[root@localhost ~]# bash
[root@node ~]# 

上傳軟件包

將我提供的軟件包上傳至ansible節(jié)點(diǎn)
在這里插入圖片描述

解壓軟件包

#ansible包含了安裝ansible的軟件包以及依賴,我們把a(bǔ)nsbile的軟件倉庫解壓至/opt目錄
[root@ansible ~]# tar -zxf ansible.tar.gz -C /opt
[root@ansible ~]# ls /opt/ansible/
packages  repodata
#install_zabbix.tar.gz是ansible執(zhí)行任務(wù)需要用到的文件,我們把它解壓到主目錄即可
[root@ansible ~]# tar -zxf install_zabbix.tar.gz
[root@ansible ~]# ls install_zabbix
group_vars  install_zabbix.yaml  roles
[root@ansible ~]# ls install_zabbix/roles/zabbix/
files  handlers  meta  tasks  templates  vars
[root@ansible ~]# ls install_zabbix/roles/zabbix/files/
yum.repo  zabbix.tar.gz
#files目錄存放著需要復(fù)制到目標(biāo)節(jié)點(diǎn)的靜態(tài)文件,這里包含倉庫文件yum.repo和zabbix的軟件包及其依賴包的壓縮包,它們將在執(zhí)行任務(wù)時被直接復(fù)制到node節(jié)點(diǎn)上
#handlers目錄存放著處理器(handlers)任務(wù),處理器會在特定條件下觸發(fā),通常用于重啟服務(wù)或執(zhí)行其他操作,這道題還用不到它
#meta目錄包含角色的元數(shù)據(jù),如依賴關(guān)系和其他角色相關(guān)信息,同樣用不到
#tasks目錄包含角色的主要任務(wù)列表,定義了角色需要執(zhí)行的各種操作和配置步驟
#templates目錄存放著Jinja2模板文件,這些模板可以在運(yùn)行時渲染成目標(biāo)節(jié)點(diǎn)上的配置文件,使得配置文件可以根據(jù)變量或條件動態(tài)生成
#vars目錄包含角色范圍內(nèi)的變量,這些變量可以被任務(wù)和模板引用,用于參數(shù)化配置和操作,這里是被group_vars目錄里的all文件替代了,我們也用不到

配置YUM源

#刪除系統(tǒng)自帶源
[root@ansible ~]# rm -rf /etc/yum.repos.d/*
#創(chuàng)建新的倉庫文件
[root@ansible ~]# vi /etc/yum.repos.d/local.repo
[ansible]
name=ansible
baseurl=file:///opt/ansible
gpgcheck=0
enabled=1
#檢查可用性
[root@ansible ~]# yum clean all && yum repolist
源標(biāo)識                                源名稱                                狀態(tài)
ansible                               ansible                               22
repolist: 22
#安裝ansible
[root@ansible ~]# yum -y install ansible

配置主機(jī)映射

#編輯系統(tǒng)的主機(jī)映射文件
[root@ansible ~]# cat >> /etc/hosts << EOF
> 192.168.100.21 ansible
> 192.168.100.22 node
> EOF
#編輯ansible的主機(jī)清單文件,可以說是ansible的主機(jī)映射文件
#我們定義一個zabbix的主機(jī)組,把node節(jié)點(diǎn)的ip寫上
[root@ansible ~]# cat >> /etc/ansible/hosts << EOF
> [zabbix]
> 192.168.100.22
> EOF

配置免密登錄

#執(zhí)行ansible劇本的時候需要遠(yuǎn)程連接主機(jī),所以我們配置ssh免密登錄
[root@ansible ~]# ssh-keygen 
...
Enter file in which to save the key (/root/.ssh/id_rsa):#回車
...
Enter passphrase (empty for no passphrase):#回車
...
Enter same passphrase again:#回車
...
#將公鑰復(fù)制給node節(jié)點(diǎn)
[root@ansible ~]# ssh-copy-id root@node
...
Are you sure you want to continue connecting (yes/no)? yes
...
root@node's password: #輸入node節(jié)點(diǎn)密碼

配置node節(jié)點(diǎn)

#我們做一下node節(jié)點(diǎn)的環(huán)境準(zhǔn)備
#掛載好node節(jié)點(diǎn)的系統(tǒng)源
#先創(chuàng)建給掛載目錄
[root@node ~]# mkdir /opt/centos
#掛載系統(tǒng)鏡像
[root@node ~]# mount -o loop /dev/sr0 /opt/centos
#如果你是使用CentOS-7-x86_64-DVD-2009.iso鏡像,在7.9的系統(tǒng)進(jìn)行本實(shí)驗(yàn)的話,你還需要刪掉系統(tǒng)自帶的mariadb-libs,因?yàn)樗陌姹咎吡?#xff1a;yum -y remove mariadb-libs

完善腳本

這道題簡單的一部分原因就是我們不用從頭寫劇本,提供給我們的軟件包已經(jīng)寫好了大部分,我們只需要補(bǔ)充關(guān)鍵部分即可。

#我們回到ansible節(jié)點(diǎn),把a(bǔ)nsible的文件完善一下
[root@ansible ~]# cd install_zabbix
[root@ansible install_zabbix]# 
#all文件是全局變量文件,可以通過設(shè)置值,寫劇本的時候用變量替代,這里寫個數(shù)據(jù)庫密碼的變量就行了,數(shù)據(jù)庫主機(jī)名的變量沒必要,就模板文件有一處用到,我們直接刪掉。
[root@ansible install_zabbix]# vi group_vars/all 
DB_PASS: zabbix
#變量和值直接有空格,看清楚了
#yum.repo文件是后面我們要傳給node節(jié)點(diǎn)的倉庫文件
[root@ansible install_zabbix]# vi roles/zabbix/files/yum.repo 
[zabbix]
name=zabbix
baseurl=
gpgcheck=0
enabled=1
#我們把它補(bǔ)充好:
[root@ansible install_zabbix]# vi roles/zabbix/files/yum.repo 
[zabbix]
name=zabbix
baseurl=file:///root/zabbix
gpgcheck=0
enabled=1
[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1
#main文件是我們安裝zabbix的任務(wù)列表
[root@ansible install_zabbix]# vi roles/zabbix/tasks/main.yaml 
---###- name: selinux configshell: "{{item}}"with_items:- sed -i "s/^SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config- name: Selinux Config Setenforceshell: getenforceregister: info#執(zhí)行g(shù)etenforce命令查看Selinux的執(zhí)行模式,并把值賦給info- name: when_Selinuxshell: setenforce 0when: info['stdout'] == 'Enforcing'#當(dāng)info的值為Enforcing時,執(zhí)行setenforce 0命令臨時關(guān)閉selinux- name: firewalldshell: systemctl stop firewalld && systemctl disable firewalldignore_errors: yes###這段是關(guān)閉防火墻和Selinux的操作,不需要我們補(bǔ)齊#通過name的描述我們可知這里是移動系統(tǒng)默認(rèn)源的操作,需要我們補(bǔ)齊- name: mv yum configshell: mv     #這里是復(fù)制倉庫文件的地方,需要我們補(bǔ)齊命令,把補(bǔ)充完整的yum.repo移過來- name: copy repo copy: #這里則是移動zabbix軟件源壓縮包的地方,需要我們補(bǔ)齊命令,把zabbix.tar.gz移過來- name: Copy Repo Tarcopy: #這里是解壓zabbix.tar.gz的地方,需要我們補(bǔ)齊- name: Decompression Packageshell: #這里是安裝http服務(wù)并啟動的地方,需要我們補(bǔ)齊- name: Yum Install httpdyum: name:- httpd state: - name: Start Servicesystemd:name: httpdstate: restartedenabled: yes###- name: Install Mariadbyum: name: - mariadb-server- mariadb  state: present- name: Start Servicesystemd:name: mariadbstate: restartedenabled: yes###這一段都不需要補(bǔ)齊,是安裝數(shù)據(jù)庫并啟動的操作###- name: Config Mariadb Usershell: mysqladmin -uroot password {{ DB_PASS }}ignore_errors: yes- name: Mariadb Create zabbixshell: mysql -uroot -p{{ DB_PASS }} -e ""ignore_errors: yes- name: privileages mariadbshell: "{{ item }}"with_items:- mysql -uroot -p{{ DB_PASS }} -e ""- mysql -uroot -p{{ DB_PASS }} -e ""###這段是配置數(shù)據(jù)庫的地方,需要我們補(bǔ)齊命令###"{{ item }}"是Jinja2的模板語法,可以依次操作with_items寫的的命令,而不用寫兩段任務(wù)。#這里是安裝zabbix服務(wù)的地方,需要我們補(bǔ)齊需要安裝的組件- name: Install zabbixyum: name:- - - - state: present#這里是導(dǎo)入數(shù)據(jù)庫文件的地方,無需補(bǔ)齊   - name: sql config mariadbshell: chdir=/usr/share/doc/zabbix-server-mysql-3.4.15/ zcat create.sql.gz |mysql -uroot -p{{ DB_PASS }} zabbixignore_errors: yes#這里是設(shè)置時區(qū)的地方,無需補(bǔ)齊- name: Php Timezoneshell: "{{item}}"with_items:- sed -i "s/^;date.timezone.*/;date.timezone=RPC/g" /etc/php.ini- sed -i "s/#\ php_value/php_value/g" /etc/httpd/conf.d/zabbix.conf- sed -i "s/date.timezone.*/date.timezone Asia\/Shanghai/g" /etc/httpd/conf.d/zabbix.conf#這里是將模板文件復(fù)制到node節(jié)點(diǎn),成為其zabbix配置文件的地方,需要我們補(bǔ)齊目標(biāo)路徑- name: Config zabbix_server.conftemplate: src=zabbix_server.conf.j2 dest=#這里是重啟http和zabbix服務(wù)的地方,無需我們補(bǔ)齊- name: Restart Httpd And zabbix-serversystemd:name: "{{item}}"state: restartedenabled: yeswith_items:- httpd- zabbix-server
#將其補(bǔ)齊后的內(nèi)容如下:
---- name: selinux configshell: "{{item}}"with_items:- sed -i "s/^SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config- name: Selinux Config Setenforceshell: getenforceregister: info- name: when_Selinuxshell: setenforce 0when: info['stdout'] == 'Enforcing'- name: firewalldshell: systemctl stop firewalld && systemctl disable firewalldignore_errors: yes- name: mv yum configshell: mv /etc/yum.repos.d/* /media/- name: copy repo copy: src=yum.repo dest=/etc/yum.repos.d/- name: Copy Repo Tarcopy: src=zabbix.tar.gz dest=/root/- name: Decompression Packageshell: tar -zxf /root/zabbix.tar.gz- name: Yum Install httpdyum: name:- httpd state: present- name: Start Servicesystemd:name: httpdstate: restartedenabled: yes- name: Install Mariadbyum: name: - mariadb-server- mariadb  state: present- name: Start Servicesystemd:name: mariadbstate: restartedenabled: yes- name: Config Mariadb Usershell: mysqladmin -uroot password {{ DB_PASS }}ignore_errors: yes- name: Mariadb Create zabbixshell: mysql -uroot -p{{ DB_PASS }} -e "create database zabbix character set utf8 collate utf8_bin;"ignore_errors: yes- name: privileages mariadbshell: "{{ item }}"with_items:- mysql -uroot -p{{ DB_PASS }} -e "grant all privileges on zabbix.* to zabbix@'%' identified by 'zabbix';"- mysql -uroot -p{{ DB_PASS }} -e "grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';"- name: Install zabbixyum: name:- zabbix-server-mysql- zabbix-web-mysql- zabbix-agentstate: present- name: sql config mariadbshell: chdir=/usr/share/doc/zabbix-server-mysql-3.4.15/ zcat create.sql.gz |mysql -uroot -p{{ DB_PASS }} zabbixignore_errors: yes- name: Php Timezoneshell: "{{item}}"with_items:- sed -i "s/^;date.timezone.*/;date.timezone=RPC/g" /etc/php.ini- sed -i "s/#\ php_value/php_value/g" /etc/httpd/conf.d/zabbix.conf- sed -i "s/date.timezone.*/date.timezone Asia\/Shanghai/g" /etc/httpd/conf.d/zabbix.conf- name: Config zabbix_server.conftemplate: src=zabbix_server.conf.j2 dest=/etc/zabbix/zabbix_server.conf- name: Restart Httpd And zabbix-serversystemd:name: "{{item}}"state: restartedenabled: yeswith_items:- httpd- zabbix-server#如果你了解zabbix的搭建流程,且看過我之前搭建zabbix的文章,你就會發(fā)現(xiàn)補(bǔ)充的部分,與我那篇文章的命令是一模一樣的
#zabbix_server.conf.j2模板文件是我們復(fù)制給node節(jié)點(diǎn)當(dāng)zabbix的配置文件的
#我們編輯一下先,只需要添加101行DBHost的值即可
#添加前:
[root@ansible install_zabbix]# sed -n '100,104p' roles/zabbix/templates/zabbix_server.conf.j2
DBName=zabbix
DBHost=
DBPassword=zabbix
DBSocket=/tmp/mysql.sock
#添加后:
[root@ansible install_zabbix]# sed -n '100,104p' roles/zabbix/templates/zabbix_server.conf.j2
DBName=zabbix
DBHost=localhost
DBPassword=zabbix
DBSocket=/tmp/mysql.sock

執(zhí)行劇本

#首先帶你們看一下劇本的內(nèi)容
[root@ansible install_zabbix]# vi install_zabbix.yaml
#YAML文件的開始標(biāo)記
---
#這里指定了執(zhí)行這個劇本的主機(jī)組,我們前面在/etc/ansible/hosts文件里定義了zabbix主機(jī)組,里面包含了node節(jié)點(diǎn)
- hosts: zabbix
#這里則是指定了執(zhí)行任務(wù)時使用的用戶名,執(zhí)行任務(wù)時會用root用戶連接對方主機(jī)remote_user: root
#制定了要應(yīng)用的角色列表,這個實(shí)驗(yàn)我們有且只有一個zabbix角色,ansible會找到zabbix角色下的task目錄,執(zhí)行里面的main.yaml任務(wù)roles:- zabbix#在執(zhí)行劇本前,我們使用--syntax-check檢查一下劇本有沒有語法錯誤
[root@ansible install_zabbix]# ansible-playbook install_zabbix.yaml --syntax-check
#如果顯示這樣就說明語法沒有問題,有語法錯誤的話會給你指出具體錯誤的地方
playbook: install_zabbix.yaml
#OK,一切準(zhǔn)備就緒,我們執(zhí)行劇本
[root@ansible install_zabbix]# ansible-playbook install_zabbix.yaml
...
#執(zhí)行最后會給我們一個總結(jié)報(bào)告,總共執(zhí)行了20個任務(wù),19個導(dǎo)致了實(shí)際更改,有1個被跳過(臨時關(guān)閉selinux那里,因?yàn)槲姨崆瓣P(guān)了,不滿足when的條件,于是跳過了)
#其他的,unreachable是主機(jī)不可達(dá)的數(shù)量。failed是任務(wù)失敗的數(shù)量。rescued是被救回的任務(wù)數(shù)量,這個需要在任務(wù)中使用rescue塊,在原先任務(wù)執(zhí)行到一半失敗了就會執(zhí)行rescue塊的內(nèi)容,進(jìn)行恢復(fù)操作,避免劇本執(zhí)行中斷。我們這個實(shí)驗(yàn)沒有使用,自然就沒有救回的了。ignored是被忽略的任務(wù)數(shù)量,我們在任務(wù)后面多處添加了ignore_errors: yes,如果那個任務(wù)執(zhí)行失敗,也會繼續(xù)執(zhí)行劇本,相應(yīng)的這個數(shù)字也會增加。
PLAY RECAP *****************************************************************************************
192.168.100.22             : ok=20   changed=19   unreachable=0    failed=0    skipped=1    rescued=0    ignored=0

驗(yàn)證實(shí)驗(yàn)結(jié)果

我們打開瀏覽器,在地址欄輸入node節(jié)點(diǎn)ip/zabbix,如果跳轉(zhuǎn)到了zabbix的安裝界面,則說明我們劇本執(zhí)行成功,沒有任何問題了

在這里插入圖片描述

后語

關(guān)于zabbix的一些基礎(chǔ)使用,設(shè)置中文界面和監(jiān)控主機(jī)啥的,我也在這篇文章也有提及,感興趣的可以看一下:1+X云計(jì)算運(yùn)維與開發(fā)(中級)實(shí)戰(zhàn)案例——Zabbix分布式監(jiān)控系統(tǒng)搭建_實(shí)戰(zhàn)案例——zabbix 分布式監(jiān)控系統(tǒng)-CSDN博客

ansible搭建應(yīng)用考察的題目還有部署ELK、Kafka、ZooKeeper、FTP還有Mariadb的,其實(shí)只要了解了ansible,這些都不難,后續(xù)可能會再講個ELK的。

http://www.risenshineclean.com/news/6280.html

相關(guān)文章:

  • 導(dǎo)航網(wǎng)站怎么做seo霸屏推廣
  • 做網(wǎng)站軟件j短視頻營銷成功的案例
  • 自助手機(jī)建站網(wǎng)站站點(diǎn)
  • 安徽專業(yè)網(wǎng)站建設(shè)大全推薦新網(wǎng)站推廣方法
  • 做網(wǎng)站商城必須要買空間嗎app運(yùn)營方案
  • 怎么查看網(wǎng)站的dns武漢網(wǎng)站運(yùn)營專業(yè)樂云seo
  • 哈爾濱 做網(wǎng)站白度指數(shù)
  • wordpress 微博】蘇州網(wǎng)站建設(shè)優(yōu)化
  • seo是怎么優(yōu)化的寧波優(yōu)化系統(tǒng)
  • 工商局網(wǎng)站官網(wǎng)平臺推廣是什么
  • 描述建設(shè)一個網(wǎng)站的基本步驟網(wǎng)站建設(shè)企業(yè)
  • 如何在網(wǎng)站發(fā)廣告做seo推廣一年大概的費(fèi)用
  • 網(wǎng)站怎樣維護(hù)seo入門培訓(xùn)
  • 網(wǎng)站的優(yōu)化與網(wǎng)站建設(shè)有關(guān)嗎如何制作自己的鏈接
  • 男做直播網(wǎng)站的磁力搜索引擎
  • 長沙網(wǎng)站建設(shè)專家遼寧好的百度seo公司
  • 國外做外掛的網(wǎng)站中國免費(fèi)廣告網(wǎng)
  • 鄭州做品牌網(wǎng)站的公司免費(fèi)網(wǎng)站 推廣網(wǎng)站
  • 網(wǎng)站密碼如何找回密碼百度企業(yè)官網(wǎng)
  • asp與java做網(wǎng)站效果百度seo優(yōu)化軟件
  • ui設(shè)計(jì)是什么專業(yè)的鄭州seo
  • 深度蘇州自媒體公司抖音優(yōu)化是什么意思
  • 有哪些網(wǎng)站開發(fā)框架網(wǎng)上國網(wǎng)推廣
  • 做網(wǎng)站建設(shè)掙錢嗎專業(yè)網(wǎng)絡(luò)推廣機(jī)構(gòu)
  • 王燁娟seo價格查詢公司
  • 做網(wǎng)站添加mp3購買模板建站
  • 合肥 網(wǎng)站平臺建設(shè)公司站長工具端口檢測
  • centos7安裝 wordpress成都抖音seo
  • 網(wǎng)絡(luò)平臺怎么建立網(wǎng)站嗎寧波優(yōu)化網(wǎng)站排名軟件
  • 網(wǎng)站建設(shè)做網(wǎng)站需要多少錢?視頻優(yōu)化是什么意思