Инсталирајте го Apache на CentOS7

Официјална референца

Официјална веб страна Документација за производот HTTPS Gzip

Изведете инсталација

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

Изменете ја конфигурациската датотека

По завршувањето на инсталацијата, треба да извршиме некои измени во конфигурациската датотека. Специфичната содржина на модификација обично вклучува: врзана IP и порта, пренос на компресија gzip, број на истовремени врски и SSL. Ајде да ги објасниме еден по еден подолу.

Изменете ги врзаните IP и порта

Стандардната IP и порта што ги слуша Apache е 0,0.0.0:80. Ако треба да ги измениме набудуваните IP и порта, можеме да ги модифицираме директно. Ако треба да поврземе повеќе порти, можеме да ги додадеме и нив. Во следниот пример, ги врзуваме портите 80 и 443. Портата 443 е стандардниот број на портата за HTTPS.

            Listen 80
Listen 443 https
        

Отворен пренос на gzip

Бидејќи перформансите на процесорот на нашиот компјутер се релативно високи, обично тесното грло ќе се појави во ширината на мрежата, така што можеме да избереме да го вклучиме преносот на компресија на gzip. Постојат 9 нивоа на компресија. Можеме да избереме според перформансите на нашиот сервер и да го најдеме најсоодветното ниво. Во примерот подолу, го поставивме на ниво 1. Компресирани типови на датотеки се: html, xml, php, css, js, ние исто така можеме да додадеме типови на компресирана датотека по потреба.

            <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

Функцијата на KeepAlive е да ги одржува клиентот и серверот поврзани за одредено време. Кога отвораме веб-страница, обично треба да ја вчитаме главната содржина, js, css и слики. Бидејќи секој ресурс треба да иницира посебно барање за HTTP, овозможуваме KeepAlive да го намали времето потребно за секое барање за воспоставување TCP / IP врска. Но, KeepAlive има и недостатоци, тоа ќе предизвика зафаќање на ресурсите на IO на серверот, затоа треба да избереме дали да го овозможиме KeepAlive во согласност со реалната состојба. Ако KeepAlive е овозможен, треба исто така да поставиме разумен тајмаут за да избегнеме зафаќање на IO на серверот подолго време. Следниот пример содржи неколку главни поставки на KeepAlive.

            KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
        

Конфигурирајте го бројот на истовремени

Разумна конфигурација на бројот на истовремени може значително да ја подобри пропусната моќ на серверот. Обично нашиот Apache работи во режим mpm_prefork. Треба разумно да конфигурираме неколку клучни параметри. Она на што треба да обрнеме внимание е дека максималниот број на врски не треба да биде премал, премногу мал ќе предизвика одбивање на голем број барања од корисници кога е истовремено висока. Разумната вредност што ја поставивме треба да се однесува на процесорот и меморијата на серверот. Сè додека ресурсите се доволни, треба да ги поставиме што е можно поголеми, но ако ја поставиме премногу големи, ресурсите на серверот ќе бидат исцрпени и Apache исто така ќе се сруши.

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

Конфигурирајте SSL

Повеќето веб-страници сега имаат SSL овозможено за поддршка на безбедни врски HTTPS. Предноста на HTTPS е тоа што содржината за време на преносот е криптирана, така што нема потреба да се грижите за истекување на информации како резултат на пресретнување од други. Пред да овозможиме SSL, прво мора да аплицираме за сертификат. Откако ќе го добиеме сертификатот, упатете се на следната конфигурација за да ги завршите поставките на 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>