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


Varnish Cache (ຍັງເອີ້ນວ່າ Varnish) ແມ່ນເຄື່ອງເລັ່ງ HTTP ທີ່ມີປະສິດຕິພາບສູງ, ຖືກອອກແບບມາເພື່ອຄວາມໄວຂອງເຄື່ອງແມ່ຂ່າຍເວັບ. ໃນບົດຂຽນສຸດທ້າຍຂອງພວກເຮົາ, ພວກເຮົາໄດ້ອະທິບາຍວິທີການຕັ້ງຄ່າ CentOS 8.

ໃນບົດຂຽນນີ້, ພວກເຮົາຈະສະແດງວິທີການຕິດຕັ້ງແລະການ ນຳ ໃຊ້ Varnish Cache ເປັນທາງ ໜ້າ ຂອງເຊີບເວີ Nginx HTTP ໃນ CentOS 7. ຄຳ ແນະ ນຳ ນີ້ກໍ່ຄວນເຮັດວຽກກ່ຽວກັບ RHEL 7.

<

  • ສູນ CentOS 7 ພ້ອມຕິດຕັ້ງ Apache
  • ສູນ CentOS 7 ທີ່ມີທີ່ຢູ່ IP ແບບຄົງທີ່
  • ຂັ້ນຕອນທີ 1: ຕິດຕັ້ງ Nginx Web Server ໃນ CentOS 7

    1. ເລີ່ມຕົ້ນໂດຍການຕິດຕັ້ງເຄື່ອງແມ່ຂ່າຍ Nginx HTTP ຈາກຫໍສະ ໝຸດ ຊອບແວ CentOS ໃນຕອນຕົ້ນໂດຍໃຊ້ຜູ້ຈັດການຊຸດ YUM ດັ່ງຕໍ່ໄປນີ້.

    # yum install nginx
    

    2. ເມື່ອການຕິດຕັ້ງ ສຳ ເລັດ, ເລີ່ມຕົ້ນໃຫ້ບໍລິການ Nginx ສຳ ລັບດຽວນີ້ແລະໃຫ້ມັນເລີ່ມຕົ້ນໂດຍອັດຕະໂນມັດໃນລະບົບ boot.

    # systemctl start nginx
    # systemctl enable nginx
    # systemctl status nginx
    

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

    # firewall-cmd --zone=public --permanent --add-port=80/tcp
    # firewall-cmd --reload
    # firewall-cmd --zone=public --permanent --add-port=8080/tcp
    # 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_varnish5.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 /:

    • /etc/varnish/default.vcl - ນີ້ແມ່ນເອກະສານການຕັ້ງຄ່າ varnish ຫຼັກ, ມັນຖືກຂຽນໂດຍໃຊ້ພາສາການຕັ້ງຄ່າທີ່ຫຼົງໄຫຼ (VCL).

    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: ຕັ້ງຄ່າ Nginx ເພື່ອເຮັດວຽກກັບ Varnish Cache

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

    ເປີດເອກະສານ Nginx config /etc/nginx/nginx.conf ແລະຊອກຫາເສັ້ນທີ່ຟັງ 80 ແລະປ່ຽນມັນເພື່ອຟັງ 8080 ຄືກັບໃນ server server ທີ່ສະແດງຢູ່ໃນ ໜ້າ ຈໍຂ້າງລຸ່ມນີ້.

    # vi /etc/nginx/nginx.conf
    

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

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

    # systemctl edit --full  varnish
    

    ເສັ້ນຄວນເບິ່ງຄືວ່າສະແດງໃຫ້ເຫັນ.

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

    13. ຕໍ່ໄປ, ຕັ້ງ Nginx ເປັນ 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";
    }
    

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

    # systemctl daemon-reload
    # systemctl restart nginx
    # systemctl restart varnish
    

    ຂັ້ນຕອນທີ 4: ທົດສອບເຊັດ Varnish ເທິງ Nginx

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

    # curl -I http://localhost
    
    HTTP/1.1 200 OK
    Server: nginx/1.16.1
    Date: Wed, 06 Jan 2021 09:24:18 GMT
    Content-Type: text/html
    Content-Length: 4833
    Last-Modified: Fri, 16 May 2014 15:12:48 GMT
    ETag: "53762af0-12e1"
    X-Varnish: 2
    Age: 0
    Via: 1.1 varnish (Varnish/6.5)
    Accept-Ranges: bytes
    Connection: keep-alive
    

    ທ່ານສາມາດຊອກຫາຂໍ້ມູນເພີ່ມເຕີມຈາກ Varnish Cache Github Repository: https://github.com/varnishcache/varnish-cache

    ໃນບົດແນະ ນຳ ນີ້, ພວກເຮົາໄດ້ອະທິບາຍວິທີການຕັ້ງຄ່າ Varnish Cache ສຳ ລັບເຄື່ອງແມ່ຂ່າຍ Nginx HTTP ໃນ CentOS 7. ໃຊ້ແບບຟອມ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້ເພື່ອສົ່ງ ຄຳ ຖາມຫລືຄວາມຄິດພິເສດໃຫ້ພວກເຮົາ.