Apache ynstalleare op CentOS7

Offisjele referinsje

Offisjele webside Produktdokumintaasje HTTPS Gzip

Útfiere ynstallaasje

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

Wizigje it konfiguraasjetriem

Nei't de ynstallaasje is foltôge, moatte wy wat oanpassings meitsje oan it konfiguraasjetriem. De spesifike modifikaasje-ynhâld befettet normaal: bûn IP en poarte, gzip-kompresje-oerdracht, oantal simultane ferbiningen, en SSL. Litte wy se hjirûnder ien foar ien útlizze.

Wizigje it beheine IP en de poarte

De standert IP en poarte wêrnei't Apache harket is 0.0.0.0:80. As wy it kontroleare IP en de poarte moatte wizigje, kinne wy ​​it direkt oanpasse. As wy meardere havens moatte bine, kinne wy ​​se ek tafoegje. Yn it folgjende foarbyld bine wy ​​poarte 80 en 443. Poarte 443 is it standert poartenûmer foar HTTPS.

            Listen 80
Listen 443 https
        

Iepenje gzip-oerdracht

Om't de CPU-prestaasjes fan ús kompjûter relatyf heech binne, sil it knyppunt normaal ferskine yn 'e netwurkbânbreedte, sadat wy kinne kieze om gzip-kompresje-oerdracht yn te skeakeljen. D'r binne 9 nivo's fan kompresje. Wy kinne kieze neffens de prestaasjes fan ús server en it meast geskikte nivo fine. Yn it hjirûnder foarbyld sette wy it op nivo 1. De komprimearre triemtypen binne: html, xml, php, css, js, wy kinne ek komprimearre triemtypen as nedich tafoegje.

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

KeepAlive ynstelle

De funksje fan KeepAlive is om de kliïnt en server foar in perioade ferbûn te hâlden. As wy in webside iepenje, moatte wy normaal de haadynhâld, js, css, en ôfbyldings lade. Sûnt elke boarne in aparte HTTP-oanfraach moat inisjearje, skeakelje wy KeepAlive yn om de fereaske tiid te ferminderjen foar elke oanfraach om in TCP / IP-keppeling te meitsjen. Mar KeepAlive hat ek neidielen, it sil feroarsaakje dat de IO-boarnen fan 'e server wurde beset, dat wy moatte kieze oft KeepAlive ynskeakelje sil neffens de werklike situaasje. As KeepAlive is ynskeakele, moatte wy der ek in ridlike time-outperioade foar ynstelle om te foarkommen dat server IO lange tiid beset is. It folgjende foarbyld befettet ferskate haadynstellings fan KeepAlive.

            KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
        

Konfigurearje it oantal tagelyk

In ridlike konfiguraasje fan it oantal tagelyk kin de trochfier fan 'e server sterk ferbetterje. Normaal wurket ús Apache yn mpm_prefork-modus. Wy moatte ferskate kaaiparameters ridlik konfigurearje. Wêr't wy op moatte rekkenje is dat it maksimum oantal ferbiningen net te lyts wêze moat, te lyts sil in grut oantal brûkersoanfragen ôfwize as de concurrency heech is. De ridlike wearde dy't wy ynstelle moatte ferwize nei de CPU en it ûnthâld fan de server. Salang't de boarnen genôch binne, moatte wy it sa grut mooglik ynstelle, mar as wy it te grut ynstelle, sille de serverboarnen útput wêze en sil Apache ek ferûngelokke.

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

SSL ynstelle

De measte websides hawwe no SSL ynskeakele om HTTPS feilige ferbiningen te stypjen. It foardiel fan HTTPS is dat de ynhâld by it ferstjoeren is fersifere, dus is it net nedich om soargen te meitsjen oer lekkage fan ynformaasje troch ûnderskep troch oaren. Foardat wy SSL ynskakelje, moatte wy earst in sertifikaat oanfreegje. Nei't wy it sertifikaat hawwe, ferwize jo nei de folgjende konfiguraasje om de SSL-ynstellingen te foltôgjen.

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