Instalu Apache sur CentOS7

Oficiala referenco

Oficiala retejo Produkta Dokumentado HTTPS Gzip

Faru instaladon

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

Modifi la agordan dosieron

Post kiam la instalado finiĝis, ni devas fari iujn modifojn al la agorda dosiero. La specifa modifa enhavo kutime inkluzivas: ligitan IP kaj havenon, transdono de kunpremo gzip, nombro de samtempaj konektoj kaj SSL. Ni klarigu ilin unu post la alia sube.

Modifi la ligitan IP kaj havenon

La defaŭlta IP kaj haveno, kiujn Apache aŭskultas, estas 0.0.0.0:80. Se ni bezonas modifi la kontrolatan IP kaj havenon, ni povas modifi ĝin rekte. Se ni bezonas ligi plurajn havenojn, ni ankaŭ povas aldoni ilin. En la sekva ekzemplo, ni ligas havenojn 80 kaj 443. Haveno 443 estas la defaŭlta havennumero por HTTPS.

            Listen 80
Listen 443 https
        

Malfermu gzip-transdonon

Ĉar la CPU-rendimento de nia komputilo estas relative alta, kutime la proplempunkto aperos en la retlarĝa bando, do ni povas elekti aktivigi gzip-kunpreman transdonon. Estas 9 niveloj de kunpremo. Ni povas elekti laŭ la agado de nia servilo kaj trovi la plej taŭgan nivelon. En la suba ekzemplo, ni starigis ĝin al nivelo 1. La kunpremitaj dosiertipoj estas: html, xml, php, css, js, ni ankaŭ povas aldoni kunpremitajn dosiertipojn laŭbezone.

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

Starigu KeepAlive

La funkcio de KeepAlive estas teni la klienton kaj servilon konektitaj dum kelka tempo. Kiam ni malfermas retpaĝon, ni kutime bezonas ŝarĝi la ĉefan enhavon, js, css kaj bildojn. Ĉar ĉiu rimedo bezonas komenci apartan HTTP-peton, ni ebligas al KeepAlive redukti la tempon necesan por ĉiu peto establi ligon TCP / IP. Sed KeepAlive ankaŭ havas malavantaĝojn, ĝi kaŭzos la IO-rimedojn de la servilo okupataj, do ni devas elekti ĉu ebligi KeepAlive laŭ la reala situacio. Se KeepAlive estas ebligita, ni ankaŭ devas agordi akcepteblan paŭzon por ĝi por eviti ke servilo IO estu okupita delonge. La sekva ekzemplo enhavas plurajn ĉefajn agordojn de KeepAlive.

            KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
        

Agordi la nombron de samtempaj

Akceptebla agordo de la nombro de samtempaj povas multe plibonigi la rendimenton de la servilo. Kutime nia Apache funkcias en reĝimo mpm_prefork. Ni devas racie agordi plurajn ŝlosilajn parametrojn. Pri kio ni devas atenti estas, ke la maksimuma nombro de konektoj ne devas esti tro malgranda, tro malgranda kaŭzos malakcepton de multaj uzanto-petoj kiam la samtempeco estas alta. La akceptebla valoro, kiun ni agordas, devas rilati al la CPU kaj memoro de la servilo. Dum la rimedoj sufiĉas, ni starigu ĝin kiel eble plej grandan, sed se ni agordos ĝin tro granda, la servilaj rimedoj elĉerpiĝos kaj Apache ankaŭ kraŝos.

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

Agordi SSL

Plej multaj retejoj nun havas SSL ebligita por subteni sekurajn konektojn HTTPS. La avantaĝo de HTTPS estas, ke la enhavo dum transdono estas ĉifrita, do ne necesas zorgi pri informfluado pro interkapto de aliaj. Antaŭ ol ebligi SSL, ni devas unue peti atestilon. Post kiam ni ricevas la atestilon, raportu al la sekva agordo por kompletigi la SSL-agordojn.

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