ຕິດຕັ້ງ Apache ໃນ CentOS7

ການອ້າງອິງທາງການ

ເວບໄຊທ໌ທາງການ ເອກະສານຜະລິດຕະພັນ HTTPS Gzip

ດໍາເນີນການຕິດຕັ້ງ

            yum -y install libmcrypt libmcrypt-devel mcrypt mhash
yum -y install httpd
        

ແກ້ໄຂເອກະສານການຕັ້ງຄ່າ

ຫຼັງຈາກການຕິດຕັ້ງ ສຳ ເລັດແລ້ວ, ພວກເຮົາ ຈຳ ເປັນຕ້ອງໄດ້ດັດແປງບາງຢ່າງກ່ຽວກັບເອກະສານການຕັ້ງຄ່າ. ເນື້ອຫາດັດແກ້ສະເພາະໂດຍປົກກະຕິປະກອບມີ: IP ທີ່ຖືກຜູກມັດແລະພອດ, ການສົ່ງຕໍ່ການບີບອັດ gzip, ຈຳ ນວນການເຊື່ອມຕໍ່ພ້ອມກັນ, ແລະ SSL. ຂໍໃຫ້ອະທິບາຍພວກເຂົາເທື່ອລະອັນຂ້າງລຸ່ມນີ້.

ດັດແປງ IP ແລະພອດທີ່ຖືກຜູກມັດ

IP ແລະພອດເລີ່ມຕົ້ນທີ່ Apache ຟັງແມ່ນ 0.0.0.0:80. ຖ້າພວກເຮົາຕ້ອງການດັດແປງ IP ແລະພອດທີ່ຕິດຕາມ, ພວກເຮົາສາມາດດັດແປງມັນໂດຍກົງ. ຖ້າພວກເຮົາຕ້ອງການທີ່ຈະມັດຫລາຍພອດ, ພວກເຮົາກໍ່ສາມາດເພີ່ມພວກມັນໄດ້. ໃນຕົວຢ່າງຕໍ່ໄປນີ້, ພວກເຮົາມັດພອດ 80 ແລະ 443. ພອດ 443 ແມ່ນ ໝາຍ ເລກພອດເລີ່ມຕົ້ນ ສຳ ລັບ HTTPS.

            Listen 80
Listen 443 https
        

ເປີດລະບົບສາຍສົ່ງ gzip

ເນື່ອງຈາກວ່າການເຮັດວຽກຂອງຄອມພີວເຕີ້ຂອງຄອມພິວເຕີຂອງພວກເຮົາແມ່ນຂ້ອນຂ້າງສູງ, ໂດຍປົກກະຕິແລ້ວຄວາມບິດເບືອນຈະປາກົດຢູ່ໃນແບນວິດຂອງເຄືອຂ່າຍ, ດັ່ງນັ້ນພວກເຮົາສາມາດເລືອກທີ່ຈະເປີດການສົ່ງສັນຍານການບີບອັດ gzip. ມີການບີບອັດ 9 ລະດັບພວກເຮົາສາມາດເລືອກຕາມການປະຕິບັດງານຂອງເຊີບເວີຂອງພວກເຮົາແລະຊອກຫາລະດັບທີ່ ເໝາະ ສົມທີ່ສຸດ. ໃນຕົວຢ່າງຂ້າງລຸ່ມນີ້, ພວກເຮົາຕັ້ງມັນໄວ້ໃນລະດັບ 1. ປະເພດເອກະສານທີ່ບີບອັດແມ່ນ: html, xml, php, css, js, ພວກເຮົາຍັງສາມາດເພີ່ມປະເພດເອກະສານທີ່ບີບອັດຕາມຄວາມຕ້ອງການ.

            <IfModule mod_deflate.c>
    DeflateCompressionLevel 1
    AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-javascript application/x-httpd-php
    AddOutputFilter DEFLATE js css
</IfModule>
        

ຕັ້ງຄ່າ KeepAlive

ຫນ້າທີ່ຂອງ KeepAlive ແມ່ນເພື່ອໃຫ້ລູກຄ້າແລະ server ເຊື່ອມຕໍ່ເປັນໄລຍະ. ໃນເວລາທີ່ພວກເຮົາເປີດເວບໄຊທ໌, ພວກເຮົາມັກຈະຕ້ອງໂຫຼດເນື້ອຫາຕົ້ນຕໍ, js, css, ແລະຮູບພາບຕ່າງໆ. ແຕ່ KeepAlive ຍັງມີຂໍ້ບົກຜ່ອງມັນຈະເຮັດໃຫ້ຊັບພະຍາກອນ IO ຂອງ server ຖືກຄອບຄອງ, ດັ່ງນັ້ນພວກເຮົາຕ້ອງເລືອກວ່າຈະເຮັດໃຫ້ KeepAlive ສາມາດເຮັດໄດ້ຕາມສະຖານະການຕົວຈິງຫຼືບໍ່. ຖ້າ KeepAlive ຖືກເປີດໃຊ້ງານ, ພວກເຮົາຍັງຕ້ອງ ກຳ ນົດເວລາທີ່ ເໝາະ ສົມ ສຳ ລັບມັນເພື່ອຫລີກລ້ຽງ server IO ທີ່ຖືກ ນຳ ໃຊ້ເປັນເວລາດົນ. ຕົວຢ່າງຕໍ່ໄປນີ້ປະກອບມີການຕັ້ງຄ່າຫລັກຂອງ KeepAlive.

            KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
        

ກຳ ນົດ ຈຳ ນວນຂອງພ້ອມກັນ

ການຕັ້ງຄ່າທີ່ສົມເຫດສົມຜົນຂອງ ຈຳ ນວນເຄື່ອງພ້ອມກັນສາມາດປັບປຸງການເຂົ້າເຖິງຂອງເຊີບເວີຢ່າງຫຼວງຫຼາຍ. ປົກກະຕິແລ້ວ Apache ຂອງພວກເຮົາເຮັດວຽກໃນ mpm_prefork mode. ພວກເຮົາ ຈຳ ເປັນຕ້ອງໄດ້ ກຳ ນົດຕົວ ກຳ ນົດຫຼັກທີ່ ສຳ ຄັນຢ່າງສົມເຫດສົມຜົນ. ສິ່ງທີ່ພວກເຮົາຕ້ອງເອົາໃຈໃສ່ກໍ່ຄື ຈຳ ນວນການເຊື່ອມຕໍ່ສູງສຸດບໍ່ຄວນນ້ອຍເກີນໄປ, ຂະ ໜາດ ນ້ອຍເກີນໄປຈະເຮັດໃຫ້ ຈຳ ນວນ ຄຳ ຮ້ອງຂໍຂອງຜູ້ໃຊ້ ຈຳ ນວນຫຼວງຫຼາຍຖືກປະຕິເສດໃນເວລາທີ່ສະກຸນເງິນທີ່ສູງ. ຄ່າທີ່ສົມເຫດສົມຜົນທີ່ພວກເຮົາ ກຳ ນົດໄວ້ຄວນຈະອີງໃສ່ CPU ແລະ ໜ່ວຍ ຄວາມ ຈຳ ຂອງເຊີຟເວີ. ຕາບໃດທີ່ຊັບພະຍາກອນພຽງພໍ, ພວກເຮົາຄວນ ກຳ ນົດໃຫ້ມັນໃຫຍ່ທີ່ສຸດເທົ່າທີ່ຈະເປັນໄປໄດ້, ແຕ່ຖ້າພວກເຮົາຕັ້ງມັນໃຫຍ່ເກີນໄປ, ຊັບພະຍາກອນຂອງ server ຈະ ໝົດ ໄປແລະ Apache ກໍ່ຈະລົ້ມລົງ.

            <IfModule mpm_prefork_module>
    StartServers         10
    MinSpareServers      25
    MaxSpareServers      50
    ServerLimit          1500
    MaxClients           1000
    MaxRequestsPerChild  3000
</IfModule>
        

ຕັ້ງຄ່າ SSL

ເວບໄຊທ໌ສ່ວນໃຫຍ່ໃນຕອນນີ້ມີ SSL ເປີດໃຫ້ຮອງຮັບການເຊື່ອມຕໍ່ທີ່ປອດໄພຂອງ HTTPS. ຂໍ້ດີຂອງ HTTPS ແມ່ນວ່າເນື້ອຫາໃນລະຫວ່າງການສົ່ງຕໍ່ຖືກເຂົ້າລະຫັດ, ສະນັ້ນບໍ່ ຈຳ ເປັນຕ້ອງກັງວົນກ່ຽວກັບການຮົ່ວໄຫຼຂອງຂໍ້ມູນເນື່ອງຈາກການແຊກແຊງໂດຍຄົນອື່ນ. ກ່ອນທີ່ຈະເປີດໃຊ້ SSL, ພວກເຮົາຕ້ອງໄດ້ສະ ໝັກ ໃບຢັ້ງຢືນກ່ອນອື່ນ ໝົດ ຫລັງຈາກທີ່ພວກເຮົາໄດ້ຮັບໃບຢັ້ງຢືນແລ້ວ, ໃຫ້ອ້າງອີງໃສ່ການຕັ້ງຄ່າຕໍ່ໄປນີ້ເພື່ອໃຫ້ ສຳ ເລັດການຕັ້ງຄ່າ SSL.

            <VirtualHost *:443>
    ServerAdmin www.test.com
    ServerName www.testl.com
    DocumentRoot  /var/www/test
    SSLEngine on
    SSLProtocol all -SSLv2 -SSLv3
    SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
    SSLHonorCipherOrder on
    SSLCertificateFile /etc/httpd/conf/cert/public.crt
    SSLCertificateKeyFile /etc/httpd/conf/cert/1533528967430.key
    SSLCertificateChainFile /etc/httpd/conf/cert/chain.crt
    AllowEncodedSlashes on
    <Directory "/var/www/test.com">
         Options FollowSymLinks
         AllowOverride All
         Order allow,deny
         Allow from all
    </Directory>
</VirtualHost>