日本高清免费一本视频100禁_在线不卡欧美精品一区二区三区_国产一区二区好的精华液_中文综合在线_国产啊啊啊视频在线观看_大地资源网免费观看高清

IT之道-艾銻知道

您當(dāng)前位置: 主頁 > IT服務(wù) > 服務(wù)器服務(wù) >

如何在運(yùn)行Ubuntu 15.04主控服務(wù)器和代理節(jié)點(diǎn)上面安裝開源版puppet


2015-12-08 08:47 作者:admin 瀏覽量:

u=4008303924,1978127500&fm=21&gp=0.jpg

  puppet 是由 puppet 實(shí)驗(yàn)室Puppet Labs開發(fā)并維護(hù)的一款開源的配置管理軟件,它能夠幫我們自動化供給、配置和管理服務(wù)器的基礎(chǔ)環(huán)境。puppet 提供了配置管理和數(shù)據(jù)中心自動化的兩個(gè)解決方案。這兩個(gè)解決方案分別是puppet 開源版 和 puppet 企業(yè)版。puppet 開源版以 Apache 2.0 許可證發(fā)布,它是一個(gè)非常靈活、可定制的解決方案,設(shè)置初衷是幫助管理員去完成那些重復(fù)性操作工作。pupprt 企業(yè)版是一個(gè)全平臺復(fù)雜 IT 環(huán)境下的成熟解決方案,它除了擁有開源版本所有優(yōu)勢以外還有移動端 apps、只有商業(yè)版才有的加強(qiáng)支持,以及模塊化和集成管理等。Puppet 使用 SSL 證書來認(rèn)證主控服務(wù)器與代理節(jié)點(diǎn)之間的通信。

  我們用一臺服務(wù)器做主控服務(wù)器master,管理和控制剩余的當(dāng)作 puppet 代理節(jié)點(diǎn)agent node的服務(wù)器,這些代理節(jié)點(diǎn)將依據(jù)主控服務(wù)器來進(jìn)行配置。在 ubuntu 15.04 只需要簡單的幾步就能安裝配置好 puppet,用它來管理我們的服務(wù)器基礎(chǔ)環(huán)境非常的方便。(說明:puppet 采用 C/S 架構(gòu),所以必須有至少有一臺作為服務(wù)器,其他作為客戶端處理)。

  1.設(shè)置主機(jī)文件

  在本教程里,我們將使用2臺運(yùn)行 ubuntu 15.04 “Vivid Vervet" 的主機(jī),一臺作為主控服務(wù)器,另一臺作為 puppet 的代理節(jié)點(diǎn)。下面是我們將用到的服務(wù)器的基礎(chǔ)信息。

  ◆puupet 主控服務(wù)器 IP:44.55.88.6 ,主機(jī)名: puppetmaster

  ◆puppet 代理節(jié)點(diǎn) IP: 45.55.86.39 ,主機(jī)名: puppetnode

  我們要在代理節(jié)點(diǎn)和服務(wù)器這兩臺機(jī)器的 hosts 文件里面都添加上相應(yīng)的條目,使用 root 或是 sudo 訪問權(quán)限來編輯 /etc/hosts 文件,命令如下:

  # nano /etc/hosts

  45.55.88.6 puppetmaster.example.com puppetmaster

  45.55.86.39 puppetnode.example.com puppetnode

  注意:puppet 主控服務(wù)器必使用 8140 端口來運(yùn)行,所以請務(wù)必保證開啟8140端口。

  2.用 NTP 更新時(shí)間

  puppet 代理節(jié)點(diǎn)所使用系統(tǒng)時(shí)間必須要準(zhǔn)確,這樣可以避免代理證書出現(xiàn)問題。如果有時(shí)間差異,那么證書將過期失效,所以服務(wù)器與代理節(jié)點(diǎn)的系統(tǒng)時(shí)間必須互相同步。我們使用 NTP(Network Time Protocol網(wǎng)絡(luò)時(shí)間協(xié)議)來同步時(shí)間。在服務(wù)器與代理節(jié)點(diǎn)上面分別運(yùn)行以下命令來同步時(shí)間。

  # ntpdate pool.ntp.org

  17 Jun 00:17:08 ntpdate[882]: adjust time server 66.175.209.17 offset -0.001938 sec

  (說明:顯示類似的輸出結(jié)果表示運(yùn)行正常)。

  如果沒有安裝 ntp,請使用下面的命令更新你的軟件倉庫,安裝并運(yùn)行ntp服務(wù)。

  # apt-get update && sudo apt-get -y install ntp ; service ntp restart

  3.安裝主控服務(wù)器軟件

  安裝開源版本的 puppet 有很多的方法。在本教程中,我們在 puppet 實(shí)驗(yàn)室官網(wǎng)下載一個(gè)名為 puppetlabs-release 的軟件包的軟件源,安裝后,它將為我們在軟件源里面添加 puppetmaster-passenger。puppetmaster-passenger 包括帶有 apache 的 puppet 主控服務(wù)器。我們開始下載這個(gè)軟件包:

  # cd /tmp/

  # wget https://apt.puppetlabs.com/puppetlabs-release-trusty.deb

  --2015-06-17 00:19:26-- https://apt.puppetlabs.com/puppetlabs-release-trusty.deb

  Resolving apt.puppetlabs.com (apt.puppetlabs.com)... 192.155.89.90, 2600:3c03::f03c:91ff:fedb:6b1d

  Connecting to apt.puppetlabs.com (apt.puppetlabs.com)|192.155.89.90|:443... connected

  HTTP request sent, awaiting response... 200 OK

  Length: 7384 (7.2K) [application/x-debian-package]

  Saving to: ‘puppetlabs-release-trusty.deb’

  puppetlabs-release-tr 100%[===========================>] 7.21K --.-KB/s in 0.06s

  2015-06-17 00:19:26 (130 KB/s) - ‘puppetlabs-release-trusty.deb’ saved [7384/7384]

  下載完成,我們來安裝它:

  # dpkg -i puppetlabs-release-trusty.deb

  Selecting previously unselected package puppetlabs-release.

  (Reading database ... 85899 files and directories currently installed.)

  Preparing to unpack puppetlabs-release-trusty.deb ...

  Unpacking puppetlabs-release (1.0-11) ...

  Setting up puppetlabs-release (1.0-11) ...

  使用 apt 包管理命令更新一下本地的軟件源:

  # apt-get update

  現(xiàn)在我們就可以安裝 puppetmaster-passenger 了。

  # apt-get install puppetmaster-passenger

  提示:在安裝的時(shí)候可能會報(bào)錯(cuò):

  Warning: Setting templatedir is deprecated.see http://links.puppetlabs.com/env-settings-deprecations (at /usr/lib/ruby/vendor_ruby/puppet/settings.rb:1139:in `issue_deprecation_warning')

  不過不用擔(dān)心,忽略掉它就好,我們只需要在設(shè)置配置文件的時(shí)候把這一項(xiàng)禁用就行了。

  如何來查看 puppet 主控服務(wù)器是否已經(jīng)安裝成功了呢?非常簡單,只需要使用下面的命令查看它的版本就可以了。

  # puppet --version

  3.8.1

  現(xiàn)在,我們已經(jīng)安裝好了 puppet 主控服務(wù)器。因?yàn)槲覀兪褂玫氖桥浜?apache 的 passenger,由 apache 來控制 puppet 主控服務(wù)器,當(dāng) apache 運(yùn)行時(shí) puppet 主控服務(wù)器才運(yùn)行。

  在開始之前,我們需要通過停止 apache 服務(wù)來讓 puppet 主控服務(wù)器停止運(yùn)行。

  # systemctl stop apache2

  4.使用 Apt 工具鎖定主控服務(wù)器的版本

  現(xiàn)在已經(jīng)安裝了 3.8.1 版的 puppet,我們鎖定這個(gè)版本不讓它隨意升級,因?yàn)樯墪斐膳渲梦募靵y。 使用 apt 工具來鎖定它,這里我們需要使用文本編輯器來創(chuàng)建一個(gè)新的文件 /etc/apt/preferences.d/00-puppet.pref:

  # nano /etc/apt/preferences.d/00-puppet.pref

  在新創(chuàng)建的文件里面添加以下內(nèi)容:

  # /etc/apt/preferences.d/00-puppet.pref

  Package: puppet puppet-common puppetmaster-passenger

  Pin: version 3.8*

  Pin-Priority: 501

  這樣在以后的系統(tǒng)軟件升級中, puppet 主控服務(wù)器將不會跟隨系統(tǒng)軟件一起升級(IT運(yùn)維外包)。

  5.配置 Puppet 主控服務(wù)器

  Puppet 主控服務(wù)器作為一個(gè)證書發(fā)行機(jī)構(gòu),需要生成它自己的證書,用于簽署所有代理的證書的請求。首先,我們要刪除所有在該軟件包安裝過程中創(chuàng)建出來的 ssl 證書。本地默認(rèn)的 puppet 證書放在 /var/lib/puppet/ssl。因此,我們只需要使用 rm 命令來整個(gè)移除這些證書就可以了。

  # rm -rf /var/lib/puppet/ssl

  現(xiàn)在來配置該證書,在創(chuàng)建 puppet 主控服務(wù)器證書時(shí),我們需要包括代理節(jié)點(diǎn)與主控服務(wù)器溝通所用的每個(gè) DNS 名稱。使用文本編輯器來修改服務(wù)器的配置文件 puppet.conf:

  # nano /etc/puppet/puppet.conf

  輸出的結(jié)果像下面這樣:

  [main]

  logdir=/var/log/puppet

  vardir=/var/lib/puppet

  ssldir=/var/lib/puppet/ssl

  rundir=/var/run/puppet

  factpath=$vardir/lib/facter

  templatedir=$confdir/templates

  [master]

  # These are needed when the puppetmaster is run by passenger

  # and can safely be removed if webrick is used.

  ssl_client_header = SSL_CLIENT_S_DN

  ssl_client_verify_header = SSL_CLIENT_VERIFY

  在這我們需要注釋掉 templatedir 這行使它失效。然后在文件的 [main] 小節(jié)的結(jié)尾添加下面的信息。

  server = puppetmaster

  environment = production

  runinterval = 1h

  strict_variables = true

  certname = puppetmaster

  dns_alt_names = puppetmaster, puppetmaster.example.com

  還有很多你可能用的到的配置選項(xiàng)。 如果你有需要,在 Puppet 實(shí)驗(yàn)室有一份詳細(xì)的描述文件供你閱讀: Main Config File (puppet.conf)。

  編輯完成后,保存退出。

  使用下面的命令來生成一個(gè)新的證書。

  # puppet master --verbose --no-daemonize

  Info: Creating a new SSL key for ca

  Info: Creating a new SSL certificate request for ca

  Info: Certificate Request fingerprint (SHA256): F6:2F:69:89:BA:A5:5E:FF:7F:94:15:6B:A7:C4:20:CE:23:C7:E3:C9:63:53:E0:F2:76:D7:2E:E0:BF:BD:A6:78

  ...

  Notice: puppetmaster has a waiting certificate request

  Notice: Signed certificate request for puppetmaster

  Notice: Removing file Puppet::SSL::CertificateRequest puppetmaster at '/var/lib/puppet/ssl/ca/requests/puppetmaster.pem'

  Notice: Removing file Puppet::SSL::CertificateRequest puppetmaster at '/var/lib/puppet/ssl/certificate_requests/puppetmaster.pem'

  Notice: Starting Puppet master version 3.8.1

  ^CNotice: Caught INT; storing stop

  Notice: Processing stop

  至此,證書已經(jīng)生成。一旦我們看到 Notice: Starting Puppet master version 3.8.1,就表明證書就已經(jīng)制作好了。我們按下 CTRL-C 回到 shell 命令行。

  查看新生成證書的信息,可以使用下面的命令。

  # puppet cert list -all

  + "puppetmaster" (SHA256) 33:28:97:86:A1:C3:2F:73:10:D1:FB:42:DA:D5:42:69:71:84:F0:E2:8A:01:B9:58:38:90:E4:7D:B7:25:23:EC (alt names: "DNS:puppetmaster", "DNS:puppetmaster.example.com")

  6.創(chuàng)建一個(gè) Puppet 清單

  默認(rèn)的主清單Manifest是 /etc/puppet/manifests/site.pp。 這個(gè)主要清單文件包括了用于在代理節(jié)點(diǎn)執(zhí)行的配置定義。現(xiàn)在,我們來創(chuàng)建一個(gè)清單文件:

  # nano /etc/puppet/manifests/site.pp

  在剛打開的文件里面添加下面這幾行:

  # execute 'apt-get update'

  exec { 'apt-update': # exec resource named 'apt-update'

  command => '/usr/bin/apt-get update' # command this resource will run

  }

  # install apache2 package

  package { 'apache2':

  require => Exec['apt-update'], # require 'apt-update' before installing

  ensure => installed,

  }

  # ensure apache2 service is running

  service { 'apache2':

  ensure => running,

  }

  以上這幾行的意思是給代理節(jié)點(diǎn)部署 apache web 服務(wù)(IT外包服務(wù))。

  7.運(yùn)行 puppet 主控服務(wù)

  已經(jīng)準(zhǔn)備好運(yùn)行 puppet 主控服務(wù)器 了,那么開啟 apache 服務(wù)來讓它啟動。

  # systemctl start apache2

  我們 puppet 主控服務(wù)器已經(jīng)運(yùn)行,不過它還不能管理任何代理節(jié)點(diǎn)。現(xiàn)在我們給 puppet 主控服務(wù)器添加代理節(jié)點(diǎn)。

  提示:如果報(bào)錯(cuò)

  Job for apache2.service failed. see "systemctl status apache2.service" and "journalctl -xe" for details.

  肯定是 apache 服務(wù)器有一些問題,我們可以使用 root 或是 sudo 訪問權(quán)限來運(yùn)行 apachectl start 查看它輸出的日志。在本教程執(zhí)行過程中,我們發(fā)現(xiàn)一個(gè) /etc/apache2/sites-enabled/puppetmaster.conf 的證書配置問題。修改其中的 SSLCertificateFile /var/lib/puppet/ssl/certs/server.pem 為 SSLCertificateFile /var/lib/puppet/ssl/certs/puppetmaster.pem,然后注釋掉后面這行 SSLCertificateKeyFile 。然后,在命令行重新啟動 apache。

  8.安裝 Puppet 代理節(jié)點(diǎn)的軟件包

  我們已經(jīng)準(zhǔn)備好了 puppet 的服務(wù)器,現(xiàn)在需要一個(gè)可以管理的代理節(jié)點(diǎn),我們將安裝 puppet 代理軟件到節(jié)點(diǎn)上去。這里,我們要給每一個(gè)需要管理的節(jié)點(diǎn)安裝代理軟件,并且確保這些節(jié)點(diǎn)能夠通過 DNS 查詢到服務(wù)器主機(jī)。下面,將安裝最新的代理軟件到 節(jié)點(diǎn) puppetnode.example.com 上。

  在代理節(jié)點(diǎn)上,使用下面的命令下載 puppet 實(shí)驗(yàn)室提供的軟件包:

  # cd /tmp/

  # wget https://apt.puppetlabs.com/puppetlabs-release-trusty.deb\

  --2015-06-17 00:54:42-- https://apt.puppetlabs.com/puppetlabs-release-trusty.deb

  Resolving apt.puppetlabs.com (apt.puppetlabs.com)... 192.155.89.90, 2600:3c03::f03c:91ff:fedb:6b1d

  Connecting to apt.puppetlabs.com (apt.puppetlabs.com)|192.155.89.90|:443... connected.

  HTTP request sent, awaiting response... 200 OK

  Length: 7384 (7.2K) [application/x-debian-package]

  Saving to: ‘puppetlabs-release-trusty.deb’

  puppetlabs-release-tr 100%[===========================>] 7.21K --.-KB/s in 0.04s

  2015-06-17 00:54:42 (162 KB/s) - ‘puppetlabs-release-trusty.deb’ saved [7384/7384]

  在 ubuntu 15.04 上我們使用 debian 包管理系統(tǒng)來安裝它,命令如下:

  # dpkg -i puppetlabs-release-trusty.deb

  使用 apt 包管理命令更新一下本地的軟件源:

  # apt-get update

  通過遠(yuǎn)程倉庫安裝:

  # apt-get install puppet

  Puppet 代理默認(rèn)是不啟動的。這里我們需要使用文本編輯器修改 /etc/default/puppet 文件,使它正常工作:

  # nano /etc/default/puppet

  更改 START 的值改成 "yes" 。

  START=yes

  最后保存并退出。

  9.使用 Apt 工具鎖定代理軟件的版本

  和上面的步驟一樣為防止隨意升級造成的配置文件混亂,我們要使用 apt 工具來把它鎖定。具體做法是使用文本編輯器創(chuàng)建一個(gè)文件 /etc/apt/preferences.d/00-puppet.pref:

  # nano /etc/apt/preferences.d/00-puppet.pref

  在新建的文件里面加入如下內(nèi)容:

  # /etc/apt/preferences.d/00-puppet.pref

  Package: puppet puppet-common

  Pin: version 3.8*

  Pin-Priority: 501

  這樣, puppet 就不會隨著系統(tǒng)軟件升級而隨意升級了。

  10.配置 puppet 代理節(jié)點(diǎn)

  我們需要編輯一下代理節(jié)點(diǎn)的 puppet.conf 文件,來使它運(yùn)行。

  # nano /etc/puppet/puppet.conf

  它看起來和服務(wù)器的配置文件完全一樣。同樣注釋掉 templatedir 這行。不同的是在這里我們需要刪除掉所有關(guān)于[master] 的部分。

  假定主控服務(wù)器可以通過名字“puppet-master”訪問,我們的客戶端應(yīng)該可以和它相互連接通信。如果不行的話,我們需要使用完整的主機(jī)域名 puppetmaster.example.com。

  [agent]

  server = puppetmaster.example.com

  certname = puppetnode.example.com

  在文件的結(jié)尾增加上面3行,增加之后文件內(nèi)容像下面這樣:

  [main]

  logdir=/var/log/puppet

  vardir=/var/lib/puppet

  ssldir=/var/lib/puppet/ssl

  rundir=/var/run/puppet

  factpath=$vardir/lib/facter

  #templatedir=$confdir/templates

  [agent]

  server = puppetmaster.example.com

  certname = puppetnode.example.com

  最后保存并退出。

  使用下面的命令來啟動客戶端軟件:

  # systemctl start puppet

  如果一切順利的話,我們不會看到命令行有任何輸出。第一次運(yùn)行的時(shí)候,代理節(jié)點(diǎn)會生成一個(gè) ssl 證書并且給服務(wù)器發(fā)送一個(gè)請求,經(jīng)過簽名確認(rèn)后,兩臺機(jī)器就可以互相通信了。

  提示: 如果這是你添加的第一個(gè)代理節(jié)點(diǎn),建議你在添加其他節(jié)點(diǎn)前先給這個(gè)證書簽名。一旦能夠通過并正常運(yùn)行,回過頭來再添加其他代理節(jié)點(diǎn)。

  11.在主控服務(wù)器上對證書請求進(jìn)行簽名

  第一次運(yùn)行的時(shí)候,代理節(jié)點(diǎn)會生成一個(gè) ssl 證書并且給服務(wù)器發(fā)送一個(gè)簽名請求。在主控服務(wù)器給代理節(jié)點(diǎn)服務(wù)器證書簽名之后,主服務(wù)器才能和代理服務(wù)器通信并且控制代理服務(wù)器。

  在主控服務(wù)器上使用下面的命令來列出當(dāng)前的證書請求:

  # puppet cert list

  "puppetnode.example.com" (SHA256) 31:A1:7E:23:6B:CD:7B:7D:83:98:33:8B:21:01:A6:C4:01:D5:53:3D:A0:0E:77:9A:77:AE:8F:05:4A:9A:50:B2

  因?yàn)橹辉O(shè)置了一臺代理節(jié)點(diǎn)服務(wù)器,所以我們將只看到一個(gè)請求。看起來類似如上,代理節(jié)點(diǎn)的完整域名即其主機(jī)名。

  注意有沒有“+”號在前面,代表這個(gè)證書有沒有被簽名。

  使用帶有主機(jī)名的 puppet cert sign 這個(gè)命令來簽署這個(gè)簽名請求,如下:

  # puppet cert sign puppetnode.example.com

  Notice: Signed certificate request for puppetnode.example.com

  Notice: Removing file Puppet::SSL::CertificateRequest puppetnode.example.com at '/var/lib/puppet/ssl/ca/requests/puppetnode.example.com.pem'

  主控服務(wù)器現(xiàn)在可以通訊和控制它簽名過的代理節(jié)點(diǎn)了。

  如果想簽署所有的當(dāng)前請求,可以使用 -all 選項(xiàng),如下所示:

  # puppet cert sign --all

  12.刪除一個(gè) Puppet 證書

  如果我們想移除一個(gè)主機(jī),或者想重建一個(gè)主機(jī)然后再添加它。下面的例子里我們將展示如何刪除 puppet 主控服務(wù)器上面的一個(gè)證書。使用的命令如下:

  # puppet cert clean hostname

  Notice: Revoked certificate with serial 5

  Notice: Removing file Puppet::SSL::Certificate puppetnode.example.com at '/var/lib/puppet/ssl/ca/signed/puppetnode.example.com.pem'

  Notice: Removing file Puppet::SSL::Certificate puppetnode.example.com at '/var/lib/puppet/ssl/certs/puppetnode.example.com.pem'

  如果我們想查看所有的簽署和未簽署的請求,使用下面這條命令:

  # puppet cert list --all

  + "puppetmaster" (SHA256) 33:28:97:86:A1:C3:2F:73:10:D1:FB:42:DA:D5:42:69:71:84:F0:E2:8A:01:B9:58:38:90:E4:7D:B7:25:23:EC (alt names: "DNS:puppetmaster", "DNS:puppetmaster.example.com")

  13.部署 Puppet 清單

  當(dāng)配置并完成 puppet 清單后,現(xiàn)在我們需要部署清單到代理節(jié)點(diǎn)服務(wù)器上。要應(yīng)用并加載主 puppet 清單,我們可以在代理節(jié)點(diǎn)服務(wù)器上面使用下面的命令:

  # puppet agent --test

  Info: Retrieving pluginfacts

  Info: Retrieving plugin

  Info: Caching catalog for puppetnode.example.com

  Info: Applying configuration version '1434563858'

  Notice: /Stage[main]/Main/Exec[apt-update]/returns: executed successfully

  Notice: Finished catalog run in 10.53 seconds

  這里向我們展示了主清單如何立即影響到了一個(gè)單一的服務(wù)器。

  如果我們打算運(yùn)行的 puppet 清單與主清單沒有什么關(guān)聯(lián),我們可以簡單使用 puppet apply 帶上相應(yīng)的清單文件的路徑即可。它僅將清單應(yīng)用到我們運(yùn)行該清單的代理節(jié)點(diǎn)上。

  # puppet apply /etc/puppet/manifest/test.pp

  14.為特定節(jié)點(diǎn)配置清單

  如果我們想部署一個(gè)清單到某個(gè)特定的節(jié)點(diǎn),我們需要如下配置清單。

  在主控服務(wù)器上面使用文本編輯器編輯 /etc/puppet/manifest/site.pp:

  # nano /etc/puppet/manifest/site.pp

  添加下面的內(nèi)容進(jìn)去:

  node 'puppetnode', 'puppetnode1' {

  # execute 'apt-get update'

  exec { 'apt-update': # exec resource named 'apt-update'

  command => '/usr/bin/apt-get update' # command this resource will run

  }

  # install apache2 package

  package { 'apache2':

  require => Exec['apt-update'], # require 'apt-update' before installing

  ensure => installed,

  }

  # ensure apache2 service is running

  service { 'apache2':

  ensure => running,

  }

  }

  這里的配置顯示,我們將在名為 puppetnode 和 puppetnode1 的2個(gè)指定的節(jié)點(diǎn)上面安裝 apache 服務(wù)。這里可以添加其他我們需要安裝部署的具體節(jié)點(diǎn)進(jìn)去。

  15.配置清單模塊

  模塊對于組合任務(wù)是非常有用的,在 Puppet 社區(qū)有很多人貢獻(xiàn)了自己的模塊組件。

  在主控服務(wù)器上,我們將使用 puppet module 命令來安裝 puppetlabs-apache 模塊。

  # puppet module install puppetlabs-apache

  警告:千萬不要在一個(gè)已經(jīng)部署 apache 環(huán)境的機(jī)器上面使用這個(gè)模塊,否則它將清空你沒有被 puppet 管理的 apache 配置。

  現(xiàn)在用文本編輯器來修改 site.pp 。

  # nano /etc/puppet/manifest/site.pp

  添加下面的內(nèi)容進(jìn)去,在 puppetnode 上面安裝 apache 服務(wù)。

  node 'puppet-node' {

  class { 'apache': } # use apache module

  apache::vhost { 'example.com': # define vhost resource

  port => '80',

  docroot => '/var/www/html'

  }

  }

  保存退出。然后重新運(yùn)行該清單來為我們的代理節(jié)點(diǎn)部署 apache 配置。


相關(guān)文章

IT外包服務(wù)
二維碼 關(guān)閉
主站蜘蛛池模板: 在线精品一卡乱码免费_女同久久另类99精品蜜臀_亚洲欧美国产免费综合视频_91精品天堂福利在线观看_国产成人久久久77777_秋霞午夜日韩免费毛片_国产乱妇无码大片在线观看_青娱乐超碰在线91 | 国产成人情侣激情视频_chinesepronhdvideos国产91_欧美成人永久免费a片_黄片国产精品视频_成人乱人乱一区二区三区_男同GAY片AV网站猛男调教_yy6080久久伦理一区二区_国产丝袜精品视频 | 欧美精品一区二区三区精品_午夜福利无遮挡十八禁视频_久草视频首页_婷婷香蕉久久狠狠涩涩俺也去_日韩少妇视频_亚洲精品二_国产区2_亚洲人成在久久综合网站 | 久久久无码精品亚州日韩免费看_国产精品一区二区亚洲_国产一二三视频_99精品在免费线偷拍_亚洲国产成人在线播放_亚洲国产精品专区久久_人妻巨大乳HD免费看_男生白内裤自慰gv白袜男同 | 国产色精品VR一区二区_国产三级精品vs_免费看亚洲片_人人曰人人做人人_一级免费大片_黑人巨大亚洲一区二区久_亚洲色丰满少妇高潮18P_九九热视频在线 | 女人高潮娇喘抽搐喷水视频_萍萍的性荡生活第六季_亚洲欧美日韩久久精品第一区_亚洲一区二区中文字幕在线观看_伊人WWW22综合色_亚洲国产欧美国产第一区_日韩性做爰免费A片AA片_黄色录像在线免费观看 | 老寡妇一区二区三区猛交xxx_久久丫忘忧草产品_在线播放国产区_天天草天天干天天_精品视频国产一区_午夜视频h_久久看视频_久久精品日韩按摩中文字幕 | www.伊人_中国农村自拍HDXXXX_亚洲午夜久久久精品一区二区三剧_人人成人_久久久精品人妻久久影视_国产激情内射在线影院_同性男男黄G片免费网站_精品国产第一区二区三区的区别 | 男女av免费观看_蜜臀一二三_懂色av色香蕉一区二区蜜桃_japanese爆乳boobvideos巨大_青青草成人自拍_成人免费ā片在线观看_1000部啪啪未满十八勿入免费_最近中文字幕完整在线看一 | av网站免费在线观看_中文字幕色av一区二区三区不卡_国产精品午睡沙发系列_免费人成在线观看视频播放_亚洲女孩中文字幕免费视频_大地资源免费高清观看_曰曰夜夜的爱_国产av激情无码久久 | 国产厕所精品_亚洲成人第一网站_中字无码av高清在线播放_亚洲国产另类久久久精品网站_99精品国产闺蜜国产在线闺蜜_久久亚洲AV成人无码国产_欧美日韩国产高清视频_一区二区三区999 | 亚洲精品国产片_精品综合久久_色AV永久无码影院AV_一区一区视频_青青草午夜色影院_农村熟女大胆露脸自拍_黄色毛片a级_在线观看日韩中文字幕 | 国产精品亚洲аv久久_日本色多多_成人国产一区二区_久久久国产亚洲_久久精品国产亚洲AV果冻传媒_精品深夜福利视频_亚洲男男无套GV大学生_日韩精品2区 | 少妇做爰免费视看片_国产在线看片无码人精品_91爱插插_国产成人亚洲中文字幕视频_国产未成女一区二区_久久久精品国产sm调教网站_蜜桃视频在线观看免费网址入口_亚洲第一免费看片 | 天天摸天天搞_国产视频精品久久_麻豆网站免费_国产精品久久久久久久久久蜜臀_激情成人开心网_国产女精品视频网站免费_精品中文字幕在线观看_免费在线观看亚洲 | 精品成人_国产色婷婷久久99精品91_国产一级特黄毛片在线毛片_jizz日本亚洲少妇_日本中文字幕久久_视频免费观看大全_欧美国产乱视频_国产精品免费无遮挡无码永久视频 | 无码人妻久久一区二区三区蜜桃_av免费网站_男人戳女人戳到爽视频_在线中文字幕精品第5页_国产一级在线观看视频_成人一级_成年人免费在线看惊悚片动作片_色欲色av免费观看 | 欧美在线视频一区_日本精品一区二区三区在线播放_日本熟妇人妻xxxx_又色又爽美女网站_亚洲AV无码成人精品区一区_做暖暖小视频免费xo_军人野外吮她的花蒂无码视频_亚洲中文字幕无码人在线 | 国产精品www劲爽视频_国产青草视频在线观看视频_日韩欧美群交P片內射中文_成人观看av_av永久免费大全网站_日产精品最新在线_久久人人网_国产精品一七六九在线是免费 | 午夜伦4480yy私人影院免费_国产第1页_成片免费观看视频999_欧美做视频_欧美激情插插插_国产精品美女久久久浪潮软件_成人禁片又硬又粗太爽了_2022天天操 | 老头天天吃我奶躁我的视频_男人的天堂AV亚洲一区2区_亚洲高清不卡视频_超碰在线c_亚洲A∨无码男人的天堂_无码色av一二区在线播放_99热最新精品_国产裸体视频网站 | 欧美黑人巨大videos_午夜精品免费看_人妻夜夜爽天天爽_成人国产精品??精东传媒_国产三级A在线观看_一个人看www在线视频_中国a毛片_717影院理论午夜伦八戒 | 日本a优视频_AV日韩人妻黑人综合无码_亚洲精品永久视频_一级片日韩_www.噜噜噜_2018天天干夜夜操_内谢69ⅹxxx免费视频_69久久无码一区人妻A片 | 日韩和欧美一区二区_中国极品少妇xxxxx_久久国产精品二国产精品中国洋人_久久狼人大香伊蕉国产_欧美亚洲免费_一个色亚洲_成人欧美一区二区三区黑人牛_日本怡春院一区二区三区 | 日韩成人高清_精品韩国三级在线观看视频_天堂中文在线资源_久久久久91_最近最新中文第一页_日本丰满大乳无码免费看_日本韩国视频在线观看_无码人妻久久一区二区三区 | freemoms熟乱tube_精品精品国产高清A毛片牛牛_国产女主播高潮在线播放_国产乱伦视频_亚洲一区二区日韩_动漫AV纯肉无码AV在线播放_奇米第四色7777_欧美性猛交xxxx黑人 | 无码AV一区二区三区无码_国产做a爱一及毛片久久_天堂成人在线观看_国产精品免费区二区三区观看_嫩草com_日韩一二三四区_无码人妻一区二区三区免费_亚洲欧洲综合在线 | 免费观看一区二区_亚洲欧美校园_亚洲AV中文无码字幕色下药_美女被按在床上_亚洲一久久_特黄一级性片看_国内a级毛片免费观看品善网_日本av中文字幕 | 久久久中文_日韩三级黄色毛片_国产精品亚洲第一区二区三区_国产伦精品一区二区三区四区免费_91在线国产观看视频_在线国产1区_国产韩日_欧美成人免费观看视频 | 一区二区三区精_日韩在线视频精品_99精品欧美一区_国产色系视频在线观看_亚洲一区二区三区高清av_亚洲成人超碰_亚洲一区二区无码影院_97无码人妻福利免费公开在线视频 | 国产女合集_一级黄色靠逼_国产成人精品午夜福利在线播放_人成免费视频人成免费网_亚洲第一中文字幕在线_无码国模国产在线观看_一区网站在线观看_国产亚洲精品成人av久久ww | 亚洲大片在线播放_222eeecom最新地址_97久久超碰极品视觉盛宴_天堂在线观看av_日韩午夜网站_亚洲片在线_美女网站一区_啊v在线 | 狠狠操综合_99热这里只有精品5_国产aⅴ精品_日本在线视频www色_97夜夜澡人人波多野结衣_欧美一级一区二区三区_国产精品自拍系列_日韩精品免费综合视频在线播放 | 国产91精品久久久久久_天天摸天天做天天爽天天弄_欧美在线观看视频一区_人人妻人人超人人_日韩无码专区_视频一区二区视频_日日橹狠狠爱欧美二区免费视频_好男人www在线影院官网 | 人人擦人人干_亚洲日本黄色_最新国产毛片_国产精品IGAO视频网_亚洲一区二区在线视频_JAPANXXXⅩ日本人妻HD_一吻成瘾动漫免费观看_免费看的一级毛片 | 国产女高清在线看免费观看_色无码av在线播放_久久爽久久爽久久av东京爽_曰本丰满熟妇XXXX性_在线播放网址_日本轮理片_国产精品高潮呻吟爱久久AV无码_国产youjizz | 成人高清视频免费观看_国产精品VA在线观看无码_写真福利视频_精品国产经典三级在线看_密色av_国产欧美一区综合_中文字幕一二三区有限公司_久久久久97国产精 | 精品在免费线_天天综合色网_成人福利一区二区_aaa毛片视频免费观看_国产亚洲另类久久久精品_男人大臿蕉香蕉大视频_baoyu135国产精品免费_国产精品自在拍在线播放 | 成年人视频在线看_欧美久久性视频_超碰aⅴ人人做人人爽欧美_噜噜噜91成人网_亚洲欧美丝袜精品久久_国产精品成人无码A片免费网址_91一二区_91久久久精品国产一区二区蜜臀 | 国内高清视频在线观看_国内农村妇女一级毛片_日本午夜网站_蜜桃亚洲_国产酒店在线观看对白_九色视屏_欧美三级久久三级久久三级_99久久中文 | 久久久久久精品无码人妻_亚洲欧洲日韩精品中文字幕_国产乱一乱二乱三_在线观看国产成人无码_精品人在线二区三区_性爱国产精品福利_少妇自慰流白口浆21p_神马午夜精品 |