„CentOS7“ įdiekite „Apache“

Oficiali nuoroda

Oficiali svetainė Produkto dokumentacija HTTPS Gzip

Atlikite diegimą

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

Pakeiskite konfigūracijos failą

Baigę diegti, turime atlikti kai kuriuos konfigūracijos failo pakeitimus. Konkretus modifikacijos turinys paprastai apima: susietą IP ir prievadą, „gzip“ suspaudimo perdavimą, lygiagrečių ryšių skaičių ir SSL. Paaiškinkime juos po vieną žemiau.

Pakeiskite susietą IP ir prievadą

Numatytasis IP ir prievadas, kurio klausosi „Apache“, yra 0.0.0.0:80. Jei mums reikia modifikuoti stebimą IP ir prievadą, galime jį modifikuoti tiesiogiai. Jei mums reikia susieti kelis prievadus, juos taip pat galime pridėti. Šiame pavyzdyje susiejame 80 ir 443 prievadus. 443 prievadas yra numatytasis HTTPS prievado numeris.

            Listen 80
Listen 443 https
        

Atidarykite „gzip“ perdavimą

Kadangi mūsų kompiuterio procesoriaus našumas yra palyginti aukštas, paprastai trūkumas atsiras tinklo pralaidumo srityje, todėl galime pasirinkti įjungti „gzip“ suspaudimo perdavimą. Yra 9 glaudinimo lygiai. Mes galime pasirinkti pagal savo serverio našumą ir rasti tinkamiausią lygį. Toliau pateiktame pavyzdyje mes nustatėme jį į 1 lygį. Suspaustų failų tipai yra: html, xml, php, css, js, taip pat galime pridėti suglaudintų failų tipus, jei reikia.

            <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>
        

Nustatykite „KeepAlive“

„KeepAlive“ funkcija yra palaikyti klientą ir serverį tam tikrą laiką. Atidarydami tinklalapį paprastai turime įkelti pagrindinį turinį, js, css ir paveikslėlius. Kadangi kiekvienam ištekliui reikia inicijuoti atskirą HTTP užklausą, įgaliname „KeepAlive“, kad sutrumpintume laiką, reikalingą kiekvienai užklausai sukurti TCP / IP nuorodą. Tačiau „KeepAlive“ taip pat turi trūkumų. Tai sukels serverio IO išteklius, todėl turime pasirinkti, ar įjungti „KeepAlive“, atsižvelgiant į realią situaciją. Jei „KeepAlive“ įgalinta, mes taip pat turime nustatyti pagrįstą jos skirtąjį laiką, kad išvengtume serverio IO ilgo užimtumo. Šiame pavyzdyje yra keli pagrindiniai „KeepAlive“ parametrai.

            KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
        

Konfigūruokite tuo pačiu metu skaičių

Pagrįsta konfigūracija tuo pačiu metu gali žymiai pagerinti serverio pralaidumą. Paprastai mūsų „Apache“ veikia „mpm_prefork“ režimu. Turime pagrįstai sukonfigūruoti kelis pagrindinius parametrus. Mes turime atkreipti dėmesį į tai, kad maksimalus ryšių skaičius neturėtų būti per mažas, per mažas, todėl didelis vartotojų prašymų skaičius bus atmestas, kai sutapimas yra didelis. Mūsų nustatyta protinga vertė turėtų būti susijusi su serverio procesoriumi ir atmintimi. Kol išteklių pakaks, turėtume nustatyti kuo didesnius, tačiau jei nustatysime per didelius, serverio ištekliai bus išeikvoti ir „Apache“ taip pat suges.

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

Konfigūruoti SSL

Dabar daugelyje svetainių įjungtas SSL, palaikantis saugius HTTPS ryšius. HTTPS pranašumas yra tas, kad turinys perdavimo metu yra užšifruotas, todėl nereikia jaudintis dėl informacijos nutekėjimo dėl kitų asmenų perėmimo. Prieš įjungdami SSL, pirmiausia turime kreiptis dėl sertifikato. Gavę sertifikatą, atlikite šią konfigūraciją, kad užbaigtumėte SSL nustatymus.

            <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>