Sakinisha Apache kwenye CentOS7

Rejea rasmi

Tovuti rasmi Nyaraka za Bidhaa HTTPS Gzip

Fanya ufungaji

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

Rekebisha faili ya usanidi

Baada ya usakinishaji kukamilika, tunahitaji kufanya marekebisho kadhaa kwenye faili ya usanidi. Yaliyomo katika muundo maalum kawaida hujumuisha: IP iliyofungwa na bandari, usambazaji wa gzip compression, idadi ya unganisho la wakati mmoja, na SSL. Wacha tuwaeleze moja kwa moja hapa chini.

Rekebisha IP iliyofungwa na bandari

IP default na bandari ambayo Apache inasikiliza ni 0.0.0.0:80. Ikiwa tunahitaji kurekebisha IP na bandari inayofuatiliwa, tunaweza kuibadilisha moja kwa moja. Ikiwa tunahitaji kufunga bandari nyingi, tunaweza pia kuziongeza. Katika mfano ufuatao, tunafunga bandari 80 na 443. Port 443 ni nambari chaguomsingi ya bandari ya HTTPS.

            Listen 80
Listen 443 https
        

Fungua usambazaji wa gzip

Kwa sababu utendaji wa CPU ya kompyuta yetu ni kubwa sana, kawaida shingo itaonekana katika upelekaji wa mtandao, kwa hivyo tunaweza kuchagua kuwasha usambazaji wa gzip compression. Kuna viwango vya kukandamiza 9. Tunaweza kuchagua kulingana na utendaji wa seva yetu na kupata kiwango kinachofaa zaidi. Katika mfano hapa chini, tuliiweka kwa kiwango cha 1. Aina za faili zilizobanwa ni: html, xml, php, css, js, tunaweza pia kuongeza aina za faili zilizobanwa kama inahitajika.

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

Sanidi KeepAlive

Kazi ya KeepAlive ni kuweka mteja na seva kushikamana kwa muda. Tunapofungua ukurasa wa wavuti, kawaida tunahitaji kupakia yaliyomo, js, css, na picha.Kwa kuwa kila rasilimali inahitaji kuanzisha ombi tofauti la HTTP, tunawezesha KeepAlive kupunguza muda wa kila ombi la kuanzisha kiunga cha TCP / IP. Lakini KeepAlive pia ina shida, itasababisha rasilimali za IO za seva kukaliwa, kwa hivyo tunahitaji kuchagua ikiwa itawezesha KeepAlive kulingana na hali halisi. Ikiwa KeepAlive imewezeshwa, tunahitaji pia kuweka muda wa kutosha ili kuepusha seva IO kushikiliwa kwa muda mrefu. Mfano ufuatao una mipangilio kadhaa kuu ya KeepAlive.

            KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
        

Sanidi idadi ya wakati mmoja

Usanidi mzuri wa idadi ya wakati huo huo inaweza kuboresha sana kupitisha kwa seva. Kawaida Apache yetu inafanya kazi katika mpm_prefork mode. Tunahitaji kusanidi vigezo muhimu kadhaa. Tunachohitaji kuzingatia ni kwamba idadi kubwa ya viunganisho haipaswi kuwa ndogo sana, ndogo sana itasababisha idadi kubwa ya maombi ya watumiaji kukataliwa wakati concurrency iko juu. Thamani inayofaa tunayoweka inapaswa kurejelea CPU na kumbukumbu ya seva.Kwa muda tu rasilimali zinatosha, tunapaswa kuiweka iwe kubwa iwezekanavyo, lakini ikiwa tukiiweka kubwa sana, rasilimali za seva zitakwisha na Apache pia itaanguka.

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

Sanidi SSL

Tovuti nyingi sasa zimewezeshwa na SSL kusaidia miunganisho salama ya HTTPS. Faida ya HTTPS ni kwamba yaliyomo wakati wa usafirishaji yamefichwa, kwa hivyo hakuna haja ya kuwa na wasiwasi juu ya kuvuja kwa habari kwa sababu ya kukatizwa na wengine. Kabla ya kuwezesha SSL, lazima kwanza tuombe cheti.Baada ya kupata cheti, rejea usanidi ufuatao ili kukamilisha mipangilio ya 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>