Enstale Apache sou CentOS7

Referans ofisyèl

Sit entènèt ofisyèl Dokimantasyon pwodwi HTTPS Gzip

Fè enstalasyon

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

Modifye dosye konfigirasyon an

Aprè enstalasyon an fini, nou bezwen fè kèk modifikasyon nan dosye konfigirasyon an. Kontni modifikasyon espesifik la anjeneral gen ladan: mare IP ak pò, transmisyon konpresyon gzip, kantite koneksyon konkouran, ak SSL. Ann eksplike yo youn pa youn anba a.

Modifye IP la mare ak pò

IP la default ak pò ki Apache koute se 0.0.0.0:80. Si nou bezwen modifye IP la kontwole ak pò, nou ka modifye li dirèkteman. Si nou bezwen mare plizyè pò, nou ka ajoute yo tou. Nan egzanp sa a, nou mare pò 80 ak 443. Pò 443 se nimewo pò default pou HTTPS.

            Listen 80
Listen 443 https
        

Louvri transmisyon gzip

Paske pèfòmans CPU òdinatè nou an se relativman wo, anjeneral, boutèy la ap parèt nan Pleasant rezo a, pou nou ka chwazi vire sou transmisyon konpresyon gzip. Gen nivo konpresyon 9. Nou ka chwazi selon pèfòmans sèvè nou an epi jwenn nivo ki pi apwopriye. Nan egzanp ki anba a, nou mete li nan nivo 1. Kalite dosye konprese yo se: html, xml, php, css, js, nou ka ajoute tou kalite dosye konprese jan sa nesesè.

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

Mete kanpe KeepAlive

Fonksyon KeepAlive se kenbe kliyan an ak sèvè konekte pou yon peryòd de tan. Lè nou louvri yon paj wèb, anjeneral nou bezwen chaje kontni prensipal la, js, CSS, ak foto yo. Depi chak resous bezwen kòmanse yon demann HTTP apa, nou pèmèt KeepAlive diminye tan ki nesesè pou chak demann etabli yon lyen TCP / IP. Men, KeepAlive tou te gen dezavantaj, li pral lakòz resous IO sèvè a yo dwe okipe, kidonk nou bezwen chwazi si wi ou non yo ki ap pèmèt KeepAlive selon sitiyasyon aktyèl la. Si KeepAlive pèmèt, nou bezwen tou mete yon delè rezonab pou li pou fè pou evite sèvè IO ke yo te okipe pou yon tan long. Egzanp sa a gen plizyè anviwònman prensipal nan KeepAlive.

            KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
        

Configured kantite konkouran

Yon konfigirasyon rezonab nan kantite konkouran ka anpil amelyore debi nan sèvè a. Anjeneral Apache nou an ap travay nan mòd mpm_prefork. Nou bezwen rezonab configured plizyè paramèt kle. Ki sa nou bezwen yo peye atansyon a se ke la pou maksimòm kantite koneksyon pa ta dwe twò piti, twò piti ap lakòz yon gwo kantite demann itilizatè yo dwe rejte lè konkirans la se segondè. Valè ki rezonab nou mete yo ta dwe al gade nan CPU sèvè a ak memwa.Oswa ke resous yo ase, nou ta dwe mete l 'osi gwo ke posib, men si nou mete li twò gwo, resous sèvè yo pral fin itilize ak Apache pral tou aksidan.

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

Configured SSL

Pifò sou sit entènèt kounye a gen SSL pèmèt sipòte HTTPS koneksyon sekirite. Avantaj nan HTTPS se ke se kontni an pandan transmisyon chiffres, kidonk pa gen okenn bezwen enkyete sou flit enfòmasyon akòz entèsepsyon pa lòt moun. Anvan pèmèt SSL, nou dwe premye aplike pou yon sètifika.Apre nou fin jwenn sètifika a, al gade nan konfigirasyon sa a pou konplete anviwònman SSL yo.

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