ວິທີການເລັ່ງ Apache ກັບ Varnish Cache ໃນ CentOS 7


Varnish Cache (ທີ່ຮູ້ກັນທົ່ວໄປວ່າ Varnish), ແມ່ນເຄື່ອງເປີດ ໃໝ່ ທີ່ມີຄວາມນິຍົມປະຕິບັດກັບຄືນ ໃໝ່ - HTTP ທີ່ເລັ່ງໃຫ້ກັບເຊີບເວີເວັບ. ມັນໄດ້ຖືກອອກແບບ ສຳ ລັບຈຸດຈົບ API ທີ່ ນຳ ໃຊ້ຫຼາຍເກີນໄປແລະ ສຳ ລັບສະຖານທີ່ແບບເຄື່ອນໄຫວທີ່ໃຫ້ບໍລິການທີ່ມີເນື້ອຫາແລະປະສົບການການຈະລາຈອນສູງ.

ໂດຍພື້ນຖານແລ້ວມັນຊ່ວຍໃນການລຸດຜ່ອນການໂຫຼດຂອງ CPU; ສະຫນັບສະຫນູນການດຸ່ນດ່ຽງການໂຫຼດໃນເຄື່ອງແມ່ຂ່າຍເວັບໄຊຕ໌ແລະຊ່ວຍໃຫ້ຕົວທ່ອງເວັບສາມາດໂຫລດເວັບໄຊທ໌ໄດ້ໄວຍ້ອນຜົນຂອງການເກັບຮັກສາ cache ໃນ RAM. ບໍລິສັດໃຫຍ່ ຈຳ ນວນ ໜຶ່ງ ໃຊ້ມັນລວມທັງເຟສບຸກ, Twitter, ແລະ Wikipedia ພຽງແຕ່ກ່າວເຖິງແຕ່ມີ ຈຳ ນວນ ໜ້ອຍ.

<

  • ສູນ CentOS 7 ພ້ອມຕິດຕັ້ງ Apache
  • ສູນ CentOS 7 ທີ່ມີທີ່ຢູ່ IP ແບບຄົງທີ່
  • ໃນບົດຂຽນນີ້, ຂ້ອຍຈະອະທິບາຍວິທີການຕິດຕັ້ງແລະໃຊ້ Varnish Cache 6.5 ເປັນທາງ ໜ້າ ຂອງເຄື່ອງແມ່ຂ່າຍເວັບ Apache ໃນ CentOS 7 (ຍັງເຮັດວຽກຢູ່ RHEL 7).

    ຂັ້ນຕອນທີ 1: ຕິດຕັ້ງ Apache Web Server ໃນ CentOS 7

    1. ທຳ ອິດຕິດຕັ້ງ Apache HTTP server ຈາກຫໍສະ ໝຸດ ຊອບແວ CentOS ໃນຕອນຕົ້ນໂດຍໃຊ້ຜູ້ຈັດການຊຸດ YUM ດັ່ງຕໍ່ໄປນີ້.

    # yum install httpd
    

    2. ເມື່ອ Apache ຕິດຕັ້ງແລ້ວ, ເລີ່ມຕົ້ນມັນໃນຊ່ວງເວລາແລະຊ່ວຍໃຫ້ມັນເລີ່ມຕົ້ນໂດຍອັດຕະໂນມັດເມື່ອ boot system.

    # systemctl start httpd
    # systemctl enable httpd
    # systemctl status httpd
    

    3. ລະບຽບການຕິດຕັ້ງລະບົບໄຟວໍລະບົບຕໍ່ໄປເພື່ອອະນຸຍາດໃຫ້ຫຸ້ມຫໍ່ຂາເຂົ້າທີ່ Port 80 ໂດຍໃຊ້ ຄຳ ສັ່ງຂ້າງລຸ່ມ.

    # firewall-cmd --zone=public --permanent --add-service=http
    # firewall-cmd --reload
    

    ຂັ້ນຕອນທີ 2: ຕິດຕັ້ງ Varnish Cache ໃນ CentOS 7

    4. ດຽວນີ້ມີໂປແກຼມ RPM ທີ່ຖືກລວບລວມໄວ້ກ່ອນ ສຳ ລັບເວີຊັ່ນ Varnish Cache ລຸ້ນລ້າສຸດ 6 (i. 6.5 ໃນເວລາຂຽນ), ດັ່ງນັ້ນທ່ານ ຈຳ ເປັນຕ້ອງເພີ່ມບ່ອນເກັບຂໍ້ມູນ Varnish Cache ຢ່າງເປັນທາງການ.

    ກ່ອນ ໜ້າ ນັ້ນ, ທ່ານ ຈຳ ເປັນຕ້ອງເປີດໃຊ້ຫ້ອງສະມຸດ EPEL ຕິດຕັ້ງຊຸດຫຸ້ມຫໍ່ທີ່ເພິ່ງພາອາໃສຫລາຍດັ່ງທີ່ສະແດງໄວ້.

    # yum install -y epel-release
    

    5. ຕໍ່ໄປ, ຕິດຕັ້ງ pygpgme, ຊຸດ ສຳ ລັບຈັດການລາຍເຊັນຂອງ GPG ແລະເຄື່ອງຍິ້ມ, ການລວບລວມເຄື່ອງໃຊ້ທີ່ເປັນປະໂຫຍດທີ່ຂະຫຍາຍຄຸນລັກສະນະພື້ນເມືອງຂອງແມ່ໃນຫຼາຍວິທີ.

    # yum install pygpgme yum-utils
    

    6. ຕອນນີ້ສ້າງເອກະສານທີ່ມີຊື່ວ່າ /etc/yum.repos.d/varnishcache_varnish65.repo ເຊິ່ງປະກອບດ້ວຍການຕັ້ງຄ່າຂອງຫໍໄຕລຸ່ມນີ້.

    # vi /etc/yum.repos.d/varnishcache_varnish65.repo
    

    ສິ່ງ ສຳ ຄັນ: ໃຫ້ແນ່ໃຈວ່າປ່ຽນແທນລະຫັດ el ແລະ 7 ໃນ config ຂ້າງລຸ່ມດ້ວຍການແຈກຢາຍແລະເວີຊັນ Linux ຂອງທ່ານ:

    [varnishcache_varnish65]
    name=varnishcache_varnish65
    baseurl=https://packagecloud.io/varnishcache/varnish65/el/7/$basearch
    repo_gpgcheck=1
    gpgcheck=0
    enabled=1
    gpgkey=https://packagecloud.io/varnishcache/varnish65/gpgkey
    sslverify=1
    sslcacert=/etc/pki/tls/certs/ca-bundle.crt
    metadata_expire=300
    
    [varnishcache_varnish65-source]
    name=varnishcache_varnish65-source
    baseurl=https://packagecloud.io/varnishcache/varnish65/el/7/SRPMS
    repo_gpgcheck=1
    gpgcheck=0
    enabled=1
    gpgkey=https://packagecloud.io/varnishcache/varnish65/gpgkey
    sslverify=1
    sslcacert=/etc/pki/tls/certs/ca-bundle.crt
    metadata_expire=300
    

    7. ດຽວນີ້ກະ ທຳ ຄຳ ສັ່ງຂ້າງລຸ່ມນີ້ເພື່ອປັບປຸງຖານຂໍ້ມູນ yum ໃນທ້ອງຖິ່ນຂອງທ່ານແລະຕິດຕັ້ງຊຸດ cache ຂອງ varnish (ຢ່າລືມຮັບເອົາ GPG ໂດຍການພິມ y ຫຼື yes ) ໃນຂະນະທີ່ຕິດຕັ້ງ ຊຸດ):

    # yum -q makecache -y --disablerepo='*' --enablerepo='varnishcache_varnish65'
    # yum install varnish 
    

    8. ຫຼັງຈາກຕິດຕັ້ງ Varnish Cache, ໂປແກຼມປະຕິບັດການຕົ້ນຕໍຈະຖືກຕິດຕັ້ງເປັນ/usr/sbin/varnishd ແລະ varnish file ຢູ່ໃນ/etc/varnish /:

    9. ຕອນນີ້ເລີ່ມຕົ້ນການບໍລິການ varnish, ເຮັດໃຫ້ມັນເລີ່ມຕົ້ນໂດຍອັດຕະໂນມັດໃນລະຫວ່າງການບູດລະບົບ, ແລະກວດສອບສະຖານະຂອງມັນເພື່ອໃຫ້ແນ່ໃຈວ່າມັນຂື້ນຢູ່ແລະເຮັດວຽກດັ່ງຕໍ່ໄປນີ້.

    # systemctl start varnish
    # systemctl enable varnish
    # systemctl status varnish
    

    10. ທ່ານສາມາດຢືນຢັນໄດ້ວ່າການຕິດຕັ້ງ Varnish ໄດ້ປະສົບຜົນ ສຳ ເລັດໂດຍການເບິ່ງທີ່ຕັ້ງຂອງ Varnish ທີ່ປະຕິບັດໄດ້ແລະມີລຸ້ນທີ່ຕິດຕັ້ງຢູ່ໃນລະບົບຂອງທ່ານ.

    $ which varnishd
    $ varnishd -V
    
    varnishd (varnish-6.5.1 revision 1dae23376bb5ea7a6b8e9e4b9ed95cdc9469fb64)
    Copyright (c) 2006 Verdens Gang AS
    Copyright (c) 2006-2020 Varnish Software
    

    ຂັ້ນຕອນທີ 3: ຕັ້ງຄ່າ Apache ໃຫ້ເຮັດວຽກກັບ Varnish Cache

    11. ດຽວນີ້ຕັ້ງຄ່າ Apache ເຮັດວຽກຮ່ວມກັບ Varnish Cache. ໂດຍຄ່າເລີ່ມຕົ້ນຂອງ Apache ຟັງຢູ່ port 80, ທ່ານ ຈຳ ເປັນຕ້ອງປ່ຽນພອດ HTTPD ເລີ່ມຕົ້ນເປັນ 8080 - ນີ້ຈະຮັບປະກັນວ່າ HTTPD ແລ່ນຢູ່ຫລັງ cache ຂອງ Varnish.

    ທ່ານສາມາດໃຊ້ ຄຳ ສັ່ງ sed ເພື່ອປ່ຽນພອດ 80 ເຖິງ 8080 ດັ່ງທີ່ສະແດງ.

    # sed -i "s/Listen 80/Listen 8080/" /etc/httpd/conf/httpd.conf
    

    ໝາຍ ເຫດ: ນອກຈາກນີ້ທ່ານຍັງຕ້ອງປ່ຽນພອດໃນການຕັ້ງຄ່າໂຮດຕິ້ງເສມືນຂອງທ່ານ ສຳ ລັບແຕ່ລະເວັບໄຊທ໌ທີ່ທ່ານຕ້ອງການບໍລິການຜ່ານ Varnish ນີ້ແມ່ນການຕັ້ງຄ່າ ສຳ ລັບສະຖານທີ່ທົດສອບຂອງພວກເຮົາ (/etc/httpd/conf.d/tecmint.lan.conf).

    <VirtualHost *:8080>
        DocumentRoot "/var/www/html/tecmint.lan/"
        ServerName www.tecmint.lan
        # Other directives here
    </VirtualHost>
    

    12. ຕໍ່ໄປ, ເປີດເອກະສານການຕັ້ງຄ່າຂອງລະບົບ varnish ແລະຊອກຫາພາລາມິເຕີ ExecStart ທີ່ລະບຸວ່າພອດ Varnish ຟັງຢູ່, ແລະປ່ຽນຄ່າຂອງມັນຈາກ 6081 ຫາ 80 ຕາມທີ່ສະແດງໃນ ໜ້າ ຈໍ.

    # systemctl edit --full  varnish
    

    ການຕັ້ງຄ່າຄວນຈະເປັນແບບນີ້ເມື່ອ ສຳ ເລັດ.

    ExecStart=/usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m
    

    13. ຕໍ່ໄປ, ຕັ້ງຄ່າ Apache ເປັນ server backend ສຳ ລັບ proxy ແທນ Varnish, ໃນເອກະສານການຕັ້ງຄ່າ /etc/varnish/default.vcl.

    # vi /etc/varnish/default.vcl 
    

    ຊອກຫາສ່ວນ backend, ແລະ ກຳ ນົດ IP host ແລະ port. ຂ້າງລຸ່ມນີ້ແມ່ນການຕັ້ງຄ່າ backend ແບບເລີ່ມຕົ້ນ, ຕັ້ງຄ່ານີ້ເພື່ອຊີ້ໃຫ້ເຫັນເຖິງ server server ເນື້ອຫາຕົວຈິງຂອງທ່ານ.

    backend default {
        .host = "127.0.0.1";
        .port = "8080";
    }
    

    ຖ້າເຄື່ອງແມ່ຂ່າຍ backend ຂອງທ່ານ ກຳ ລັງເຮັດວຽກຢູ່ເຊີຟເວີທີ່ແຕກຕ່າງກັນທີ່ມີທີ່ຢູ່ 10.42.1.10, ຫຼັງຈາກນັ້ນຕົວ ກຳ ນົດການໂຮດຄວນຊີ້ໄປທີ່ IP address ນີ້.

    backend server1 {
        .host = "10.42.1.10";
        .port = "8080";
    }
    

    14. ຫຼັງຈາກທີ່ປະຕິບັດການຕັ້ງຄ່າທີ່ ຈຳ ເປັນທັງ ໝົດ, ໃຫ້ຕັ້ງຄ່າ HTTPD ແລະ cache ຂອງ Varnish ເພື່ອສົ່ງຜົນຕໍ່ການປ່ຽນແປງຂ້າງເທິງ.

    # systemctl daemon-reload
    # systemctl restart httpd
    # systemctl restart varnish
    

    ຂັ້ນຕອນທີ 4: ທົດສອບ Varnish Cache ໃນ Apache

    15. ສຸດທ້າຍ, ທົດສອບ, ຖ້າ Varnish ເປີດໃຊ້ງານແລະເຮັດວຽກກັບບໍລິການ HTTPD ໂດຍໃຊ້ ຄຳ ສັ່ງ cURL ຢູ່ດ້ານລຸ່ມ, ເຊິ່ງສາມາດໃຊ້ເພື່ອເບິ່ງ header HTTP.

    # curl -I http://localhost
    
    HTTP/1.1 200 OK
    Date: Wed, 06 Jan 2021 08:36:07 GMT
    Server: Apache/2.4.6 (CentOS)
    Last-Modified: Thu, 16 Oct 2014 13:20:58 GMT
    ETag: "1321-5058a1e728280"
    Accept-Ranges: bytes
    Content-Length: 4897
    Content-Type: text/html; charset=UTF-8
    X-Varnish: 131085
    Age: 0
    Via: 1.1 varnish (Varnish/6.5)
    Connection: keep-alive
    

    ສຳ ລັບຂໍ້ມູນເພີ່ມເຕີມ, ເບິ່ງທີ່ເວັບໄຊທ໌ເກັບຮັກສາ Varnish Cache Github: https://github.com/varnishcache/varnish-cache

    ໃນບົດແນະ ນຳ ນີ້, ພວກເຮົາໄດ້ອະທິບາຍວິທີການຕັ້ງຄ່າໂປແກຼມ Varnish Cache 6.5 proxy ສຳ ລັບ server HTTP Apache ໃນ CentOS 7. ໃນກໍລະນີທີ່ທ່ານມີ ຄຳ ຖາມຫຼືແນວຄວາມຄິດເພີ່ມເຕີມທີ່ຈະແບ່ງປັນ, ໃຫ້ໃຊ້ແບບຟອມ ຄຳ ຕິຊົມດ້ານລຸ່ມເພື່ອຂຽນກັບພວກເຮົາ.