ວິທີການເລັ່ງ Apache ກັບ Varnish Cache ໃນ CentOS 7
Varnish Cache (ທີ່ຮູ້ກັນທົ່ວໄປວ່າ Varnish), ແມ່ນເຄື່ອງເປີດ ໃໝ່ ທີ່ມີຄວາມນິຍົມປະຕິບັດກັບຄືນ ໃໝ່ - HTTP ທີ່ເລັ່ງໃຫ້ກັບເຊີບເວີເວັບ. ມັນໄດ້ຖືກອອກແບບ ສຳ ລັບຈຸດຈົບ API ທີ່ ນຳ ໃຊ້ຫຼາຍເກີນໄປແລະ ສຳ ລັບສະຖານທີ່ແບບເຄື່ອນໄຫວທີ່ໃຫ້ບໍລິການທີ່ມີເນື້ອຫາແລະປະສົບການການຈະລາຈອນສູງ.
ໂດຍພື້ນຖານແລ້ວມັນຊ່ວຍໃນການລຸດຜ່ອນການໂຫຼດຂອງ CPU; ສະຫນັບສະຫນູນການດຸ່ນດ່ຽງການໂຫຼດໃນເຄື່ອງແມ່ຂ່າຍເວັບໄຊຕ໌ແລະຊ່ວຍໃຫ້ຕົວທ່ອງເວັບສາມາດໂຫລດເວັບໄຊທ໌ໄດ້ໄວຍ້ອນຜົນຂອງການເກັບຮັກສາ cache ໃນ RAM. ບໍລິສັດໃຫຍ່ ຈຳ ນວນ ໜຶ່ງ ໃຊ້ມັນລວມທັງເຟສບຸກ, Twitter, ແລະ Wikipedia ພຽງແຕ່ກ່າວເຖິງແຕ່ມີ ຈຳ ນວນ ໜ້ອຍ.
<
ໃນບົດຂຽນນີ້, ຂ້ອຍຈະອະທິບາຍວິທີການຕິດຕັ້ງແລະໃຊ້ 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
ສິ່ງ ສຳ ຄັນ: ໃຫ້ແນ່ໃຈວ່າປ່ຽນແທນລະຫັດ 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. ໃນກໍລະນີທີ່ທ່ານມີ ຄຳ ຖາມຫຼືແນວຄວາມຄິດເພີ່ມເຕີມທີ່ຈະແບ່ງປັນ, ໃຫ້ໃຊ້ແບບຟອມ ຄຳ ຕິຊົມດ້ານລຸ່ມເພື່ອຂຽນກັບພວກເຮົາ.