Инсталирайте 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>