CentOS7 instalējiet Apache

Oficiālā atsauce

Oficiālā mājas lapa Produkta dokumentācija HTTPS Gzip

Veiciet instalēšanu

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

Mainīt konfigurācijas failu

Pēc instalēšanas pabeigšanas mums jāveic dažas izmaiņas konfigurācijas failā. Konkrētais modifikācijas saturs parasti ietver: saistītu IP un portu, gzip saspiešanas pārraidi, vienlaicīgu savienojumu skaitu un SSL. Paskaidrosim tos pa vienam zemāk.

Mainīt saistīto IP un portu

Noklusējuma IP un ports, kuru Apache klausās, ir 0.0.0.0:80. Ja mums ir jāmaina uzraudzītais IP un ports, mēs varam tos modificēt tieši. Ja mums ir jāsaista vairākas ostas, mēs tos varam arī pievienot. Šajā piemērā mēs saistām 80. un 443. portu. 443. ports ir HTTPS noklusējuma porta numurs.

            Listen 80
Listen 443 https
        

Atveriet gzip pārraidi

Tā kā mūsu datora procesora veiktspēja ir salīdzinoši augsta, parasti sastrēgums parādīsies tīkla joslas platumā, tāpēc mēs varam izvēlēties ieslēgt gzip saspiešanas pārraidi. Saspiešanas līmeņi ir 9. Mēs varam izvēlēties atbilstoši mūsu servera veiktspējai un atrast vispiemērotāko līmeni. Tālāk sniegtajā piemērā mēs to iestatījām uz 1. līmeni. Saspiesti failu tipi ir: html, xml, php, css, js, pēc vajadzības varam pievienot arī saspiestus failu tipus.

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

Iestatiet KeepAlive

KeepAlive funkcija ir uzturēt klientu un serveri savienotu uz noteiktu laiku. Atverot vietni, mums parasti ir jāielādē galvenais saturs, js, css un attēli. Tā kā katram resursam ir jāuzsāk atsevišķs HTTP pieprasījums, mēs iespējojam KeepAlive, lai samazinātu laiku, kas vajadzīgs katram pieprasījumam, lai izveidotu TCP / IP saiti. Bet KeepAlive ir arī trūkumi, tas izraisīs servera IO resursu aizņemšanos, tāpēc mums jāizvēlas, vai iespējot KeepAlive atbilstoši faktiskajai situācijai. Ja funkcija KeepAlive ir iespējota, mums ir jāiestata arī saprātīgs noildze, lai izvairītos no servera IO ilgstošas ​​aizņemšanas. Šajā piemērā ir iekļauti vairāki KeepAlive galvenie iestatījumi.

            KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
        

Konfigurējiet vienlaicīgo skaitu

Saprātīga vienlaicīgā skaita konfigurācija var ievērojami uzlabot servera caurlaidi. Parasti mūsu Apache darbojas mpm_prefork režīmā. Mums ir saprātīgi jākonfigurē vairāki galvenie parametri. Mums jāpievērš uzmanība tam, ka maksimālais savienojumu skaits nedrīkst būt pārāk mazs, pārāk mazs izraisīs lielu lietotāju pieprasījumu skaitu, ja vienlaicīgums ir augsts. Mūsu iestatītajai saprātīgajai vērtībai ir jāattiecas uz servera procesoru un atmiņu. Kamēr resursi ir pietiekami, mums tas jāiestata pēc iespējas lielākam, bet, ja mēs to iestatīsim pārāk lielu, servera resursi tiks iztērēti un Apache arī avarēs.

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

Konfigurēt SSL

Tagad lielākajai daļai vietņu ir iespējots SSL, lai atbalstītu HTTPS drošos savienojumus. HTTPS priekšrocība ir tā, ka saturs pārraides laikā tiek šifrēts, tāpēc nav jāuztraucas par informācijas noplūdi citu pārtvertas dēļ. Pirms iespējojat SSL, mums vispirms jāpiesakās uz sertifikātu. Pēc sertifikāta saņemšanas skatiet šo konfigurāciju, lai pabeigtu SSL iestatījumus.

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